javascript - 如何将 window.setTimeout 分配给动态变量?

标签 javascript

我需要将 window.setTimeout 分配给动态创建的全局变量或对象,例如:

$n = 1
var variable[$n] = window.setTimeout( function () { /*somecode*/ },2000)

这不起作用。
也不起作用:

var eval(variable+$n) = window.setTimeout( function () { /*somecode*/ },2000)

但是无需“var”即可工作,但我需要全局变量,因此我需要“var”范围。

可能的解决方案是什么?

最佳答案

你可以像这样实现

variable = [];

variable[1] = window.setTimeout( function () { alert('hi') }, 2000);

// This will alert 'hi' in 2 seconds 

或者如果您希望能够像函数一样调用setTimeout,您可以这样做

variable = [];

variable[1] = function(){ window.setTimeout( function () { alert('hi') },2000) };

// This won't alert 'hi' until you do this 

variable[1]();

您遇到的问题是 variable 不是 array 因此,如果您想按照自己的方式进行操作,则必须首先创建 variable > 像这样的数组,并且是全局的?只需删除 var

$n = 1
variable = [];
variable[$n] = window.setTimeout( function () { alert('hi') },2000);

关于javascript - 如何将 window.setTimeout 分配给动态变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17484964/

相关文章:

javascript - 从命令行安装ESlint错误

Javascript 返回 [object Object],需要将其删除

javascript - 管理大量主干异步请求

javascript - 没有类的 Typescript 中的 Getter/Setter

javascript - IE/Edge 在 <script> block 的第一行崩溃并显示 "Unspecified error"

javascript - 动态排列 md-dialog 标签

javascript - 如何使用 sha256 哈希生成 0 到 1 之间的随机数

javascript - 如何让每个部分的第一个 Accordion 开始打开,但也独立于其他部分

javascript - 如何让 JS 过滤器在 Apps 脚本 API 中工作?

javascript - Html5UP 突出显示更改。如何改变后台行为?