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

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 defined

this不去掉的话,就会输出Nicholas;



素胚勾勒不出你
浏览 388回答 1
1回答

RISEBY

原型和构造函数中的this都指向new出来的对象,构造函数中的代码是为name赋值,而原型中的代码是访问name的值,去掉this就是在全局环境中找name了,找不到所以返回undefined。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript