1.工廠方式
工廠方式是指建立乙個返回特定物件型別的工廠函式
eg.function createobject()
return object;
}var object1 = createobject();
var object2 = createobject();
object1.get();
但是問題也來了,就是每建立乙個物件,物件的方法是新物件,很浪費資源;
2.建構函式方式
方法類似:
eg.function car(scolor,idoors,impg)
}var ocar1=new car("red",4,23);
var ocar2=new car("blue",3,25);
它的問題與上面一樣;
3、原型方式
該方式利用了物件的prototype屬性,可把它看成建立新物件所依賴的原型。
eg.function person()
var person = new person();
var person2 = new person();
person.getinfo();
person2.getinfo();
使用原型的缺點:
1.不能傳引數;
2.所有物件共享屬性,有可能會導致程式錯誤。
如果使用原型方式來定義物件,那麼生成的所有物件會共享原型中的屬性,這樣乙個物件改變了該屬性也會反映到其他物件當中。
單純使用原型方式定義物件無法在建構函式中為屬性賦初值,只能在物件生成後再去改變屬性值。
4.混合的建構函式/原型方式
eg.function person(name)
person.prototype.say = function()
var p1 = new person("wang");
var p2 = new person("li");
p1.say();
p2.say();
alert(p1.say==p2.say);
5、動態原形方式
在建構函式中通過標誌量讓所有物件共享乙個方法,而每個物件擁有自己的屬性。
eg.function person()
person.flag = true;}}
var p = new person();
var p2 = new person();
p.getinfo();
p2.getinfo();
物件之間的屬性互不干擾,各個物件間共享同乙個方法.
js高階 類與物件
物件的建立方法 字面量new object 建構函式 類的例項化 1字面量方式 var xx console.log xx 2 new object 方式 var xx newobject xx.name 蠟筆小新 xx.age 3 xx.showskill function console.log...
類和物件高階
建構函式是類中的特殊成員函式。建構函式的作用是完成物件的初始化。給出類定義時,由程式設計師編寫建構函式。如果程式設計師沒有編寫類的任何建構函式,則由系統自動新增乙個不帶引數的建構函式。建構函式在類體裡的宣告形式 類名 形參1,形參2,形參n 也可沒有形參 建構函式的定義形式 假設資料成員為x1,x2...
JS高階物件 高階類 或稱Mixin模式
mixin模式,混合模式。這是一種不用繼承就可以復用的技術。主要還是為了解決多重繼承的問題。多繼承的繼承路徑是個問題 js是基於物件的,類和物件都是物件模板 混合mixin,指的是將乙個物件的全部或者部分拷貝到另乙個物件上去。其實就是屬性了 可以將多個類或物件混合成乙個類或物件 class seri...