关于eval
2018-02-24 本文已影响0人
树袋熊熊
很多规范说是eval is evil,自己也就人云亦云,没有深究过,但是到底eval是不是evil,看了P84页,其实我本人觉得eval还是不错,只不过有时候有些调皮吧了,当你掌握它的脾气的时候,在某些特定的场合下,应该还是蛮不错的。
避免eval的以下缺点,应该还是不错的东西
不要对eval赋予别名,通过别名调用eval时,会按全局来执行,会覆盖或定义新的全局变量和函数。
尽量在函数中使用eval,将其影响控制在当前函数内。
eval的性能问题,这个取决于实际应用场景
其实我们也可以使用Function构造函数去动态执行代码
var test = new Function(‘name, age’, ‘console.log(name, age)’);
test(‘hjzheng’, 30);
很喜欢知乎上的答案 https://www.zhihu.com/question/20591877