切勿在 JavaScript 中使用 eval() 的原因

eval()函数在JavaScript中已经存在很长一段时间了!您可能不再经常看到它,因为人们普遍认为它是有害的。

关键字eval评估的缩写,该函数基本上采用了JavaScript代码的字符串,并将为您评估。

1eval('2 + 3 + 1');
2// 6

您可以评估一个简单的表达式......或一堆JavaScript代码!

 1var foo = 2;
 2
 3eval('var bar = 3;\
 4var baz = 1;\
 5\
 6function addStuff() {\
 7  return foo + bar + baz;\
 8}\
 9\
10addStuff();\
11');
12// 6

避免使用eval()的原因

除非你做的是非常高水平的JavaScript(见下文),否则风险通常会超过使用eval()的好处。

考虑到eval() 仍然是 ECMAScript 标准的一部分,它是否有任何适当的用途?

使用eval()的合法用途

有一个小部分的JavaScript开发,需要使用eval。这些包括:开发模板库,解释器,命令行和模块系统。


如果您不确定是否使用eval,请尝试在 StackOverflow上快速搜索。

Published At
Categories with 技术
Tagged with
comments powered by Disqus