从这个或自引用javascript获取var名
get var name from this or self reference javascript
我看到有一些其他的问题似乎是在一个类似的主题,但没有一个答案,将帮助我解决我的特殊问题。我在JavaScript中建立了一个线程库,围绕setTimeout
和setInterval
函数。这工作得很好,除了我的线程库要求线程的名称是过去的线程,即当我实例化线程时,它看起来像这样。
t = new Thread(payload, "t")
payload是一个对象,它定义了线程在有机会执行时将做什么。这允许我从底层线程"管道"中抽象线程的任务。在任何情况下,我的问题,我必须通过线程的名称,因为setTimeout
和setInterval
采取JavaScript命令作为字符串,即setTimeout("doStuff", 0)
。随着我在更多的应用程序中使用我的线程库,将名称传递给线程变得越来越痛苦。因此,我希望能够通过从线程类中获取线程的名称来避免这种情况,如下所示:
var myThreadName = this.someMagicFunction();
或
var myThreadName = someMagicFunction(this);
或其他一些奇妙的方法,如果有人有任何想法,我将非常感激。
实际上,两者都可以将函数作为第一个参数,这是推荐的用法(因为字符串版本执行eval
)。
setTimeout(doStuff, 0);
在您的情况下,您可以这样做:
setTimeout(function(){
t.payload();
}, 0);
取决于Thread对象的外观。
请参考MDC文档(setTimeout, setInterval)
你可以将一个函数传递给setTimeout
,只要它是无参数的,即
function takeme()
{
alert('workin?');
}
setTimeout(takeme, 100);
,如果不是,那么你可以尝试
function takeme(x)
{
alert(x);
}
var test = 1;
setTimeout(function(){ takeme(test); }, 100);
但是如果你真的需要提取一个函数名,那么请参阅这篇文章。不完全相同,但有些关联。
相关文章:
- 无法获取php会话变量以在javascript中设置var
- Google Script var获取未定义的值
- 如何在 PHP var OpenWeatherMap 中获取第二行 js 数据
- 在php中获取JS var的值
- jQuery select:使用$(.class)获取不同的var
- 如何将所有动态id的arrey值获取到javascript VAR CID,以便在sql中找到匹配项
- 在HTML下载列表中获取一个带有Selected Option的var到Google Script Spreadshee
- Javascript-在for循环上从var中的对象获取适当性
- 如何从html元素中获取javascript var数据?(使用canvasjs)
- 从 PHP 代码中的 URL 获取 #var 错误
- 如何从配置文件中获取$var以显示在模板中
- 从 Html 表单 Meteor javascript 获取 Var 时出错
- jQuery.在循环中从 Ajax 获取 var
- 如何从ng repeat内部获取var并将其传递给控制器,而不是将其传递回ng repeat
- 从另一个函数中获取var
- 从jquery/javascript的前一个函数中获取var
- 从这个或自引用javascript获取var名
- 可以用lodash从带有嵌套对象的对象中获取var名称吗
- 尝试从每个jquery函数中获取var,并使用insertbefore
- 从其他函数中获取var