gpt4 book ai didi

javascript - browserify 模块中的“this”上下文

转载 作者:行者123 更新时间:2023-11-27 23:18:43 25 4
gpt4 key购买 nike

在一个简单的 browserify 应用程序中,我想使用 this 关键字来引用导出对象中的其他函数,但它似乎不起作用正如我所期望的:

(function() {
module.exports = {
a: function() {
console.log('Hello World');
},
b: function() {
this.a(); // Problem: this is set to window.document
}
};
})();

我假设上面的代码可以工作,但似乎 this 设置为 window.document 而不是导出的对象。我相当确定我过去曾经做过这个工作,所以这可能很简单,但我有点坚持不下去!

我知道我可以将对象本身导出到window,或者将其设置为可以引用的命名变量,但我想了解为什么上面的代码不这样做工作。

非常感谢!

最佳答案

要将“this”设置为对象,您需要调用此函数作为对象属性,例如
foo.a()
或使用 call/apply 显式设置“this”
bar.a.apply(foo,[args])

关于javascript - browserify 模块中的“this”上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35590138/

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