字面量创建的方式使用 constructor 属性不会指向实例,而会指向 Object,构造函数创建
的方式则相反。
function Box(){}
//使用字面量的方式创建原型对象,这里{}就是对象,是Object,new Object就相当于{}
Box.prototype={
constructor:Box, //强制指向Box
name:‘lee‘,
age:100,
run:function(){
return this.name+this.age+"运行中...";
}
};
//重写了原型对象
Box.prototype={
age:200 //这里不会保留之前原型的任何信息了,把原来的原型对象和构造函数对象实例之前的关系切断了
};
var box=new Box();
alert(box.name);
alert(box.constructor==Box); //true
原型模式创建对象也有自己的缺点,它省略了构造函数传参初始化这一过程,带来的缺
点就是初始化的值都是一致的。而原型最大的缺点就是它最大的优点,那就是共享。
四。
时间: 2024-10-17 03:08:06