是否有充分的理由将字符串传递给setTimeout?
我们都知道将字符串传递给setTimeout
(或setInterval
)是邪恶的,因为它在全局范围内运行,有性能问题,如果你注入任何参数等可能是不安全的。所以这样做肯定是不赞成的:
setTimeout('doSomething(someVar)', 10000);
赞成这个:
setTimeout(function() { doSomething(someVar);}, 10000);
我的问题是:有没有理由做前者?它是有史以来最好?如果不是,为什么甚至允许?
我想到的唯一场景是想要使用存在于全局范围中但在本地范围内被覆盖的函数或变量。这听起来像是糟糕的代码设计,但是......
哔哔one
相关分类