为了账号安全,请及时绑定邮箱和手机立即绑定

关于原型对象中的this指向??

关于原型对象中的this指向??

qq_花开花谢_0 2018-10-26 18:10:51
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**. 
查看完整描述

1 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

刚才在另外一个问题中不是已经跟你详细解释过了吗?看来你并没有看懂啊 ~ ~。

回头去仔细看看再说吧。

再给你一个提示

// 在你的例子基础上,直接调用原型上的方法,这个东西,就跟你想的差不多了 - -!
Person.prototype.getName();
// 通过new出来的实例调用该方法
var person = new Person("Nxxxxxx");
person.getName();

结合这2个差异,和我之前的回答,再思考一下吧。


查看完整回答
反对 回复 2018-11-16
  • 1 回答
  • 0 关注
  • 1528 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信