function Person(name){
this.name=name;
}
Person.prototype.getName=function(){
return this.name;
}
//调用函数
var person=new Person("Nicholas");
alert(person.getName());//Nicholas
各位元宵节快乐,这个问题是关于原型对象中的this指向的?
高程上说,无论什么时候,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象。按照我的理解,Person.prototype将会作为一个指向原型对象的指针,而getName()方法将会作为原型对象的的方法;而this的判定是根据具体的执行环境给出,我认为:
Person.prototype.getName=function(){
return this.name;
}
其中的this,应该指向该原型对象,而在原型对象里,并没有name属性,所以我认为调用该函数:
var perosn=new Person("Nicholas");
alert(person.getName());
后应该得不到name的值;可事实是,得到了Nicholas.
刚才在另外一个问题中不是已经跟你详细解释过了吗?看来你并没有看懂啊 ~ ~。
回头去仔细看看再说吧。
再给你一个提示
结合这2个差异,和我之前的回答,再思考一下吧。