JavaScript的幾種常見的創建方式
阿新 • • 發佈:2018-03-08
自定義 圖片 () 屬性 創建方式 return語句 bubuko 之前 object
1.通過Object構造函數或者對象字面量創建單個對象
使用字面量方法創建對象:var stut = {name: "張三"};
使用內置構造函數創建對象:var stu = new Object();stu.name = "張三"
2.工廠模式
在考慮Es6之前無法創建類,開發人員發明了一種函數,用函數來封裝以特定接口創建對象的細節,就是在一個函數內創建好對象,然後把對象返回
函數createPerson()能夠根據接受的參數來構建一個包含所有必要信息的Person對象,工廠模式雖然解決了創建多個相似的問題但是卻沒有解決對象識別問題
3。構造函數模式
想object和Array這樣的原生構造函數,在運行時會自動出現在執行環境中,此外還可以創建自定義的構造函數,從而定義自定義對象的類型屬性和方法
與工廠模式相比1.沒有顯示創建對象2.直接將屬性方法付給了this對象3.沒有return語句
4.原型模式
我們創建的每一個函數都有prototype屬性,prototype就是通過調用構造函數而創建的那個對象實例的原型對象
(1)他省略了為構造函數傳遞初始化參數這一環節,結果所有實例在默認情況下都將取得相同的屬性值,雖然這會在一定程度帶來了一定的不便,但這不是最大的問題,最大的問題是由其共享的本性所決定的
(2)對於包含基本屬性值的屬性隱藏原型中的屬性,然後包含引用數據類型的值來說,會導致問題
JavaScript的幾種常見的創建方式