Js類的寫法

2021-08-22 04:49:42 字數 1121 閱讀 4674

建構函式的優點是:我們可以根據引數來構造不同的物件例項 ,缺點是每次構造例項物件時都會生成getname方法,造成了記憶體的浪費。

用乙個外部函式來代替類方法,達到了每個物件共享同乙個方法

原型方式的缺點就是不能通過引數來構造物件例項 (一般每個物件的屬性是不相同的) ,優點是所有物件例項都共享getname方法(相對於建構函式方式),沒有造成記憶體浪費 。

優點:用建構函式來定義類屬性(字段)。用原型方式來定義類的方法。這樣,我們就既可以構造不同屬性的物件,也可以讓物件例項共享方法,不會造成記憶體的浪費

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

用這個方法,"類"就是乙個物件,而不是函式。然後,直接用object.create()生成例項,不需要用到new。這種方法比"建構函式法"簡單,但是不能實現私有屬性和私有方法,例項物件之間也不能共享資料,對"類"的模擬不夠全面。

這種方法不需要用到this和prototype,其做法是用物件來模擬乙個類,然後在類裡面定義乙個建構函式createnew(),然後在createnew()裡面定義例項物件,把這個例項物件作為返回值。

這種寫法其實和物件字面量的寫法是很類似的,只不過乙個是逗號分隔,乙個是分號分隔。

js基於原型鏈,物件的類的寫法

網上的資料很多,關於閉包,原型鏈,物件導向之內的。本人也有一點自己的總結。關於this this 的值取決於 function 被呼叫的方式,一共有四種,var object call this alert object.getnamefunc 關於new 如果在乙個函式前面帶上new來呼叫該函式,...

js相容寫法

新增事件方法 addhandler function element,type,handler elseif element.attachevent else 移除之前新增的事件方法 removehandler function element,type,handler elseif element...

js基礎寫法

title layui description 經典模組化前端框架 site www.layui.com author 賢心 license lgpl 開頭的分號,意在防止與其他js檔案合併壓縮時,由於上乙個檔案沒有用分號結尾而產生問題 常見的 多了一對括號 呼叫匿名函式 function 另外一種...