javascript(對象定義)原型模式

每個函數中都有一個prototype(原型)屬性,它是一個指針,指向一個對象。 按照原型定義,prototype通過調用構造函數而創建的對象實例的原型對象。使用原型對象的好處是可以讓所有實例共享它包含的屬性和方法。
代碼例子:

function Person(){}

Person.prototype.name="Nicholas";

Person.prototype.age=29;

Person.prototype.job="software Engineer";

Person.prototype.sayName=function(){

console.log(this.name);

};

var person1=new Person();

person1.sayName();          //Nicholas

var person2=new Person();

person2.sayName();          //Nicholas

person1.sayName() == person2.sayName()          //true

原生模型也存在一個問題 就是這個元素對象的屬性很多實例都可以共享,當一個實例修改其中的屬性的時候,其他屬性也跟隨著修改。

發佈留言