动态原型模式把所有信息都封装在了构造函数中,在构造函数中初始化原型。如:
function Persion(name, age) {
this.name = name;
this.age = age;
if (typeof Persion.prototype.sayName != "function") {
Persion.prototype.sayName = function() {
return this.name;
}
}
}
var p1 = new Persion('bill', 11);
p1.sayName();
只有在sayName方法不存在时,才会创建,这里或许会有疑问,是否原型上有多少方法就写多少if?这个没有必要,只需要判断其中一个即可。

网友评论