gpt4 book ai didi

javascript - 为什么引用 'this' 返回值,它应该是未定义的?

转载 作者:行者123 更新时间:2023-11-30 12:37:34 26 4
gpt4 key购买 nike

我有模块...

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(),所以 sayName 中的 thismyModule

myModule 的值是来自 obj 的对象引用的副本(因为这是从匿名 IIFE 返回的内容)。

因此obj.namethis.name是相同的值。

关于javascript - 为什么引用 'this' 返回值,它应该是未定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25590966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com