js_原型的重写
上次说到 当我们定义一个函数的时候。可以通过对象.prototype来为对象添加属性和方法
如:function Person(){};
Person.prototype.name="Amos";
Person.prototype.age=23;
Person.prototype.say=function(){
alert(this.name+"\t"_this.age);
}
但是如果需要添加的属性或者方法很多的时候,那么就会给效率带来很多问题。所以就引入了新的编写方式,通过json来编写
function Person(){};
Person.prototype = {
name:"Amos",
age:23,
say:function(){
alert(this.name+"\t"+this.age);
}
}
var p1 = new Person();
alert(p1.constructor==Person) // false; 这个时候由于原型重写,而且没有通过Person.prototype来指定。此时的constructor不会在指向Person而是指向
Object.如果constructor真的比较主要,就在json中说明原型的指向 constructor:Person,
浙公网安备 33010602011771号