第一種:工廠模式
例1:
function
createobj
(name,age)
return o;
}
var per1=createobj("張三",20);
per1.sayinfo();
缺點:無法知道物件的型別
第二種:建構函式模式
例2:
function
person
(name,age)
}var per2=new person("李四",30);
per2.sayinfo();
缺點:每個方法都要在每個例項上重新建立一遍
第三種:原型模式
例3:
function
person
(){}
person.prototype.name="王五";
person.prototype.age=40;
person.prototype.sayinfo=function
()var per3=new person();
per3.sayinfo();
例3基礎上,修改為更簡單的原型模式
例4:
function
person
(){}
person.prototype=
}var per3=new person();
per3.sayinfo();
使用原型模式的缺點樣例
例5:
function person(){}
person.prototype=
}var per4=new person();
var per5=new person();
per4.friends.push("王五");
console.log(per4.friends);//輸出: ["張三", "李四", "王五"]
console.log(per5.friends);//輸出: ["張三", "李四", "王五"]
缺點:per4與per5指向同一原型,per4修改了引用的陣列,per5也隨之改變
第四種:組合使用建構函式模式和原型模式
例6:
function
person
(name,friends)
person.prototype.sayinfo=function
()var per6=new person();
var per7=new person();
per6.friends.push("王五");
per6.sayinfo();//輸出:趙六的朋友有:張三,李四,王五
per7.sayinfo();//輸出:趙六的朋友有:張三,李四
js 建立物件的幾種方式
一 原始方式 解釋 原始方法建立物件,通過new關鍵字生成乙個物件,然後根據js是動態語言的特性新增屬性和方法,構造乙個物件。其中this是表示呼叫該方法的物件。缺點 多次建立物件,則需要重複 多次,不利於 的復用。二 工廠模式 var getage function var getname fun...
js建立物件的幾種方式
雖然object建構函式或物件字面量都可以建立單個物件,但這些方式有個明顯的缺點,那就是使用同乙個介面創造很多物件,會產生大量的重複 所以產生了下面幾種模式。1 工廠模式 function createperson name,age,job o.name name o.age age o.job j...
js建立物件的幾種方式
js高階程式設計有很詳細的說明,這裡就不做詳解了,只是做個筆記和總結,方便記憶和理解 1 工廠模式 最簡單的模式,生產並返回乙個object物件 function createper name var p1 createper js 2 建構函式形式,比較常用的形式,在元件封裝中經常用到。funct...