js建立物件 原型模式

2021-09-02 15:15:34 字數 1016 閱讀 4517

原型模式是用來建立物件的,它是在建構函式建立物件基礎上,為了實現資料的共享,這種共享包括屬性的共享,也包括方法的共享。

既然原型模式是在建構函式模式的基礎上改進的,那麼這種模式會既有建構函式的特點又有原型模式的特點。關於原型模式的使用方法用一句話總結:不需要共享的資料寫在建構函式中,需要共享的資料寫在原型中。

所以在這樣的一種情景中:如果想要使用一些屬性和方法,而且屬性的值和方法操作在,每個物件中都是一樣的。那麼為了共享資料,節省記憶體空間,就可以把屬性和方法通過原型的方法進行賦值。

我們建立的每個函式都有乙個prototype(原型)屬性,這個屬性是乙個指標,指向乙個物件,而這個物件的用途是包含可以由特定型別的所有例項共享的屬性和方法。簡單的來說就是,prototype就是通過呼叫建構函式而建立的那個物件例項的原型物件,所以原型(prototype)也是個物件。而通過建構函式建立的例項物件中也有個原型(_proto_),它和建構函式的原型(prototype)指向是相同的,前者是瀏覽器使用的,後者是程式設計師使用的。

原型模式建立物件**如下:

//建構函式

function person(name,age) ;

}//新增共享的屬性

person.prototype.***="男";

//新增共享的方法

person.prototype.sayhi=function () ;

//例項化物件,並初始化

var per=new person("小明",20);

per.sayhi();//輸出 您好啊,怎麼這麼帥,就是這麼帥

//例項物件中的__proto__原型指向的是建構函式中的原型prototype

console.log(per.__proto__==person.prototype);//輸出true

//例項物件中__proto__是原型,瀏覽器使用的

//建構函式中的prototype是原型,程式設計師使用的

原型鏈是一種關係,例項物件與原型物件之間的關係,這種關係通過原型(_proto_)來聯絡的

原型模式 建立物件

原型模式 操作 先建立好乙個原型物件,然後通過clone 原型物件來建立新的物件。這就免去了類建立時重複的初始化操作。原型模式適用於大物件的建立。如果每次new 就會消耗很大,原型模式僅需要記憶體拷貝即可。index.php 中 prototype new imooc canvas prototyp...

js中建立物件方式 原型模式

一 什麼是原型模式 在js中,建立物件的方式有工廠模式和建構函式模式等 而建構函式模式最大的問題在於 建構函式中的每個方法都需要在例項物件中重新建立一遍,不能復用,所以為了解決這乙個問題,就需要使用原型模式來建立物件。原型模式是把所有例項共享的方法和屬性放在乙個叫做prototype 原型 的屬性中...

js中建立物件方式 原型模式

一 什麼是原型模式 在js中,建立物件的方式有工廠模式和建構函式模式等 而建構函式模式最大的問題在於 建構函式中的每個方法都需要在例項物件中重新建立一遍,不能復用,所以為了解決這乙個問題,就需要使用原型模式來建立物件。原型模式是把所有例項共享的方法和屬性放在乙個叫做prototype 原型 的屬性中...