gpt4 book ai didi

javascript - 从此或自引用 javascript 获取变量名称

转载 作者:行者123 更新时间:2023-11-28 21:14:58 25 4
gpt4 key购买 nike

我发现还有一些其他问题似乎与类似主题有关,但没有一个答案可以帮助我解决我的特定问题。我在 JavaScript 中围绕 setTimeout 和 setInterval 函数构建了一个线程库。这工作得很好,除了我的线程库要求线程的名称是过去的线程,即当我实例化线程时,它看起来像这样。

t = new Thread(payload, "t") 

payload 是一个对象,它定义线程有机会执行时将执行的操作。这使我能够从底层线程“管道”中抽象出线程的任务。无论如何,我的问题是我必须传递线程名称,因为 setTimeoutsetInterval 将 JavaScript 命令作为字符串,即 setTimeout("doStuff", 0) 。当我在更多的应用程序中使用我的线程库时,将名称传递给线程变得更加痛苦。因此,我希望能够通过从线程类中获取线程的名称来避免这种情况,如下所示:

var myThreadName = this.someMagicFunction(); 

var myThreadName = someMagicFunction(this); 

或者其他一些很棒的方法,如果有人对我有任何想法,我将不胜感激。

最佳答案

实际上,两者都可以将函数作为第一个参数,这是推荐的用法(因为字符串版本会执行 eval)。

setTimeout(doStuff, 0);

就您的情况而言,您也许可以执行以下操作:

setTimeout(function(){
t.payload();
}, 0);

取决于 Thread 对象的外观。

请参阅 MDC 文档( setTimeoutsetInterval )。

关于javascript - 从此或自引用 javascript 获取变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7858212/

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