我需要评估吗?

时间:2014-01-03 19:22:35

标签: javascript function eval

我在网上搜索了eval的功能,这里是我发现的内容:

  

eval()方法评估表示为字符串的JavaScript代码。

我已经阅读了question,它说邪恶。 但我真的不明白它做了什么,即我没有看到何时使用eval 我的意思是:

var x= 3;
var y =5;
var z = eval("x+y");
// is the same as:
var z = x+y;

所以我看到它只是在我的代码中添加字符。有人可以给我一个例子,说明为什么eval最初是创建的吗?

2 个答案:

答案 0 :(得分:3)

它允许执行动态生成的代码,而不仅仅是“x + y”。

答案 1 :(得分:1)

Eval允许您将字符串评估为javascript代码。这意味着您可以执行诸如计算字符串以调用函数之类的操作:

function add(x,y){
     return (x+y);
}

stringToEval = 'add(5,6)';

eval(stringToEval);

此代码将通过将字符串作为函数调用进行计算来运行该函数。 所以我想你不需要在这里使用eval。只需添加两个变量即可。