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

JavaScript中去掉原型模式中this的疑问??

JavaScript中去掉原型模式中this的疑问??

素胚勾勒不出你 2018-10-17 13:15:27
function Person(name){   this.name=name; } Person.prototype.getName=function(){return this.name; }//调用函数var person=new Person("Nicholas"); alert(person.getName());疑问:同一个函数,为啥在去掉this(原型模式中的this)后代码如下:Person.prototype.getName=function(){    return name; }出现如下的错误:Test3.html:102 Uncaught ReferenceError: age is not definedthis不去掉的话,就会输出Nicholas;
查看完整描述

1 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

原型和构造函数中的this都指向new出来的对象,构造函数中的代码是为name赋值,而原型中的代码是访问name的值,去掉this就是在全局环境中找name了,找不到所以返回undefined。


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

添加回答

举报

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