[英]Why does reference to 'this' return the value, it should be undefined?
我有模块......
var myModule = (function(){
var obj = new Object();
obj.name = "";
obj.sayName = function(){
obj.name = "jon";
console.log(obj.name);
console.log(this.name);
}
return obj;
})()
myModule.sayName();
这会根据console.log语句打印两次“jon”。
但是我真的不明白为什么'this'是正确的,因为它会返回对函数的引用并且'undefined'不是吗?
你正在调用myModule.sayName()
所以this
sayName
里面是myModule
。
myModule
的值是来自obj
的对象引用的副本(因为这是从匿名IIFE返回的内容)。
因此obj.name
和this.name
是相同的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.