相关疑难解决方法(0)

是否有充分的理由将字符串传递给setTimeout?

我们都知道将字符串传递给setTimeout(或setInterval)是邪恶的,因为它在全局范围内运行,有性能问题,如果你注入任何参数等可能是不安全的.所以这样做肯定是不赞成的:

setTimeout('doSomething(someVar)', 10000);
Run Code Online (Sandbox Code Playgroud)

赞成这个:

setTimeout(function() {
    doSomething(someVar);
}, 10000);
Run Code Online (Sandbox Code Playgroud)

我的问题是:有没有理由去做前者?它是有史以来最好?如果不是,为什么甚至允许?

我想到的唯一场景是想要使用存在于全局范围中但在本地范围内被覆盖的函数或变量.这听起来像是糟糕的代码设计,但是......

javascript settimeout

22
推荐指数
2
解决办法
6239
查看次数

标签 统计

javascript ×1

settimeout ×1