这两个功能在幕后做同样的事情吗?(在单一陈述函数中)
var evaluate = function(string) {
return eval('(' + string + ')');
}
var func = function(string) {
return (new Function( 'return (' + string + ')' )());
}
console.log(evaluate('2 + 1'));
console.log(func('2 + 1'));
Run Code Online (Sandbox Code Playgroud) 我已经学会了(艰难的)我需要在JSON数据周围添加括号,如下所示:
stuff = eval('(' + data_from_the_wire + ')');
// where data_from_the_wire was, for example {"text": "hello"}
Run Code Online (Sandbox Code Playgroud)
(至少在Firefox 3中).
这背后的原因是什么?我讨厌编写代码而不理解引擎盖后面的内容.