摘要:更形象的我們還可以將面向對象理解為一種宗教信仰。這就導致面向對象教的程序員們在寫時就很難受。所以為了滿足信仰面向對象教的需求通過構造函數的形式模擬了偽類。這個套路的核心就是類那么里沒有類所以其實是通過構造函數來模擬的偽類。
JS面向對象之一 【概述】
在學習JS的面向對象之前,我們應該先自問這樣幾個問題:
面向對象是什么意思?
學習面向對象的核心是什么?
為什么要學習面向對象?(它的存在是為了解決什么需求的)
理解面向對象【面向對象】四個字,字面意思其實是不太好理解的,你可以試著認為它是一種寫代碼的套路; 當然還存在其他的套路,比如【函數式編程】。
更形象的,我們還可以將面向對象理解為一種宗教信仰。
這樣的話,世界上的程序員分為N種:
面向對象教派: 面向對象教的核心是類
函數式編程教派 : 函數式編程教派的核心是函數
無教派人士
面向對象的核心 (JS里的構造函數 和 其他語言的類)這樣很和諧,你可以自由入教,但是JS的特殊之處在于,這本語言中沒有"類"這個概念。這就導致面向對象教的程序員們在寫JS時就很難受。
所以JS為了滿足信仰面向對象教的需求,通過構造函數的形式,模擬了偽"類"。
通俗的理解一下類和JS里構造函數的含義:
類的定義 : 如果一個東西返回了對象,那么這個東西就叫做類JS里的構造函數: 如果一個函數返回了一個新的對象,JS中就叫做構造函數
到現在為止,我們學習了2個知識點:
1 我們理解了面向對象其實是一種寫代碼的套路。
2 這個套路的核心就是"類",那么JavaScript里沒有"類",所以其實是通過構造函數來模擬的偽"類"。
面向對象這個套路,是為了解決什么問題的?一般認為,面向對象的好處,或者說面向對象的三面大旗: 封裝、繼承、多態
封裝的好處: 隱藏細節,減少思維的負擔。
繼承的好處: 復用代碼,避免內存空間的浪費。
多態好處: 讓代碼更靈活通用。例如div既是是節點,也是元素。(這個我也理解欠佳)
另一種說法是,面向對象只是一個套路,不管什么業務需求都按照面向對象的思維去寫,像一種定勢思維。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/92398.html
摘要:前言這里筑夢師是一名正在努力學習的開發工程師目前致力于全棧方向的學習希望可以和大家一起交流技術共同進步用簡書記錄下自己的學習歷程個人學習方法分享本文目錄更新說明目錄學習方法學習態度全棧開發學習路線很長知識拓展很長在這里收取很多人的建議以后決 前言 這里筑夢師,是一名正在努力學習的iOS開發工程師,目前致力于全棧方向的學習,希望可以和大家一起交流技術,共同進步,用簡書記錄下自己的學習歷程...
摘要:我們目前正處于一個新興的區塊鏈開發行業中。,一種在以太坊開發人員中流行的新的簡單編程語言,因為它是用于開發以太坊智能合約的語言。它是全球至少萬開發人員使用的世界上最流行的編程語言之一。以太坊,主要是針對工程師使用進行區塊鏈以太坊開發的詳解。 我們目前正處于一個新興的區塊鏈開發行業中。區塊鏈技術處于初期階段,然而這種顛覆性技術已經成功地風靡全球,并且最近經歷了一場與眾不同的繁榮。由于許多...
閱讀 561·2023-04-26 02:58
閱讀 2301·2021-09-27 14:01
閱讀 3605·2021-09-22 15:57
閱讀 1168·2019-08-30 15:56
閱讀 1043·2019-08-30 15:53
閱讀 787·2019-08-30 15:52
閱讀 645·2019-08-26 14:01
閱讀 2157·2019-08-26 13:41