将字符串传递给 settimeout 是不好的做法吗?如果是,为什么?
可能的重复:
是否有充分的理由通过要设置超时的字符串?
我刚刚读到一条评论,指出这是不好的做法。是这样吗?为什么?
Possible Duplicate:
Is there ever a good reason to pass a string to setTimeout?
I just read a comment stating it is bad practice.. Is that so? And why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的。
该字符串必须是
eval
,即是邪恶的(而且非常慢)。它还会阻止您在回调中使用局部变量。
Yes, it is.
The string must be
eval
'd, which is evil (and very slow).It also prevents you from using local variables in the callback.
这是一种不好的做法,其原因与使用
eval
不好的原因相同。您正在将字符串作为代码执行。这会带来性能和安全方面的损失。It's a bad practice for the same reason that using
eval
is bad. You're executing strings as code. This has both performance and security penalties.