使用函数构造函数来评估AJAX结果而不是eval()

时间:2014-02-07 12:59:04

标签: javascript ajax function

任何人都可以提出一个理由,为什么这可能比使用eval()更好或更差的AJAX调用?我认为我在Google相关页面上找到了eval(),因为eval在全局范围内运行,而此处的函数内容则没有。

str = '{a: 90, b: 99}';
callback = new Function ('return ' + str);
obj = callback();

1 个答案:

答案 0 :(得分:3)

它实际上是eval语法更混乱。它具有eval的所有缺点。

函数体仍然可以访问全局范围。它仍然很慢。坏数据会抛出异常。不受信任的数据可以使用XSS。