eg:function Person(){
}
Person.prototype.name="zhaolu";
Person.prototype.age=24;
Person.prototype.job="Software Engineer";
Person.prototype.setName=function(){
alert(this.name);
};
var person1=new Person();
var person2=new Person();
person1.setName(); //zhaolu
person1.setName(); //zhaolu
每个函数都有一个原型属性(prototype),这个属性指向对象,其通过调用构造函数而创建对象的原型对象,可以让所有实例对象共享它包含的
的所有属性和方法。
原型模式可以通过对象实例来访问保存在原型中的值,但是不能通过对象实例重写原型中的值。
如果在事例中添加了一个属性,且该属性与实例原型中的一个属性同名,那该属性会屏蔽原型中的那个属性。也就是说添加的这个属性会
阻止我们访问原型中的那个属性,但不会修改原型中的同名属性。
一旦设置同名属性后,即使再将该属性设置为null;也只会在实例中设置这个属性,而不会回复其指向原型的链接,不过可以通过delete操作符
完全删除实例属性,从而可以重新访问原型中的属性。
时间: 2024-10-25 08:01:53