js高階(類和物件)

2022-09-01 21:03:14 字數 1358 閱讀 8226

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...