将字符串传递给 settimeout 是不好的做法吗?如果是,为什么?

IT技术 javascript settimeout
2021-03-20 08:58:10

可能的重复:
是否有充分的理由将字符串传递给 setTimeout?

我刚刚读到一条评论,说这是不好的做法..是这样吗?为什么?

2个回答

是的。

字符串必须是eval'd,这是邪恶的(而且很慢)。
它还可以防止您在回调中使用局部变量。

回调不能使用调用代码中的setTimeout局部变量(与函数表达式不同)
2021-05-12 08:58:10
'它也阻止你在回调中使用局部变量' 你能详细说明一下吗?
2021-05-17 08:58:10

出于与使用eval不好相同的原因,这是一种不好的做法您正在将字符串作为代码执行。这既有性能损失,也有安全损失。