[英]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.