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,

 

 

 

posted on 2013-07-01 18:31  菜鸟半只  阅读(174)  评论(0)    收藏  举报

导航