js 寫類的方法


昨天有人問我類怎么寫,我一下就蒙了,啥是類啊,查了資料才知道,就是js里的構建函數

1、構造函數法

構造函數的優點是:我們可以根據參數來構造不同的對象實例 ,缺點是每次構造實例對象時都會生成getName方法,造成了內存的浪費。

 

 

 用一個外部函數來代替類方法,達到了每個對象共享同一個方法

 

 

 

2、原型方式

原型方式的缺點就是不能通過參數來構造對象實例 (一般每個對象的屬性是不相同的) ,優點是所有對象實例都共享getName方法(相對於構造函數方式),沒有造成內存浪費 。

 

 

 

3、構造函數+原型方式

優點:用構造函數來定義類屬性(字段)。用原型方式來定義類的方法。這樣,我們就既可以構造不同屬性的對象,也可以讓對象實例共享方法,不會造成內存的浪費

 

 

 為了讓js代碼風格更緊湊,我們讓prototype方法代碼移到function Phone的大括號內。

 

4、Object.create()方法

用這個方法,"類"就是一個對象,而不是函數。然后,直接用Object.create()生成實例,不需要用到new。這種方法比"構造函數法"簡單,但是不能實現私有屬性和私有方法,實例對象之間也不能共享數據,對"類"的模擬不夠全面。這就是對象字面量方法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM