gpt4 book ai didi

javascript - 获取类中的全局变量

转载 作者:行者123 更新时间:2023-11-28 12:42:09 26 4
gpt4 key购买 nike

我创建了一个 javascript 类,我想每秒调用一个方法,这是我的代码:

var MyClass = Base.extend({
myMethod: function() {
setTimeout(function(){
var mc = new MyClass();
mc.myMethod();
}, 1000);
}
});
var myGlobalClass = new MyClass();

myGlobalClass.myMethod();

实际上这段代码可以工作,但我每次都需要执行new MyClass()
我本来喜欢使用 myGlobalClass

这可能吗?

如果您想到了这一点,那么在这种情况下,仅使用精度 this.myMethod() 是行不通的。

感谢您的帮助

最佳答案

如果您想引用值myGlobalClass,那么您可以直接从函数中执行此操作

setTimeout(function(){
myGlobalClass.myMethod();
}, 1000);

这之所以有效,是因为 Javascript 在解析名称时不仅仅查找当前作用域中定义的局部变量。它也会查看所有父作用域来解决它们。在这种情况下,myGlobalClass 是在全局范围内定义的。名称解析从 setTimeout 函数回调开始,它不会在函数中找到它,然后它会搜索 myMethod: function() { 并不会在那里找到它,然后它将在全局范围中查找并发现myGlobalClass。它将把名称解析为这个值

关于javascript - 获取类中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11416105/

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