js面向對象的缺點_如何理解js的面相對象

JavaScript里面的構造函數,類,面向對象,三者有什么關系?
JavaScript 是面向的語言,引用數據類型都是對象,包括函數也是對象,同時還可以通過 Object 對象自定義對象 。但是,和其他面向對象語言(如 Java 等高級語言)比,也有很大差異,JS 中沒有類或接口的概念,即不能直接定義抽象的類,也不能直接實現繼承 。不過,為了編程的方便,我們可以在 JS 中模擬類和繼承的行為 。創建對象實例或類(雖然沒有類的概念,但是可以把用于創建新對象的對象看作類),可以通過構造函數來實現,構造函數就是具有一系列屬性和行為作為函數體的函數,可以通過函數參數傳入值 。它就相當于 Java 中類的構造函數,需要時可以通過 var instanceObj = new ConstructorFunc(para1,para2,...) 來創建對象(實例) 。JS 的對象中還有一個重要概念,即原型 。每個對象都有原型,原型也是一個對象,可以看做是構造函數的映像,是創建實例的模型 。對象(類)的屬性 prototype 即是對原型對象的引用,創建實例后,也有屬性 __proto__ 指向原型對象,但該屬性是隱含的 。由于不斷創造新對象(實例),一級一級的傳遞原型對象,即可構成原型鏈 。通過原型鏈,即可實現繼承 。首先將父類對象的實例給子類的原型 ChildCons.prototype = new ParentCons(),再在子類構造函數中調用父類構造函數將繼承的屬性初始化 。繼承的變通方法還有很多,可以參考一些資料 。



js面向對象可以做什么
在js里有兩個層次的含義,第一種是會使用面向對象;第二種是構造面向對象函數 。
js面向對象中的一種寫法,不過相對于java,js是一種弱數據類型,并不是嚴格意義上的面向對象 。但是jq就是面向對象的寫法創作出來的js庫 。

如何理解js的面相對象
【js面向對象的缺點_如何理解js的面相對象】在學習的時候給你一個思路,就是不斷強化object是夏娃,所有的東西都是他的子子孫孫 。
有的函數都是一個對象,所有的對象,都可以用構造函數創建 。
網頁鏈接