任何人都可以提出为什么这可能比使用 eval() 进行 AJAX 调用更好或更差的原因吗?我想我在 Google 相关页面上发现它比 eval() 更提倡它,因为 eval 在全局范围内运行,而这里的函数内容则不然。
str = '{a: 90, b: 99}';
callback = new Function ('return ' + str);
obj = callback();
最佳答案
它实际上是具有困惑语法的eval
。它具有 eval
的所有缺点。
函数体仍然可以访问全局范围。还是很慢。错误的数据会引发异常。不受信任的数据可以利用 XSS。
关于javascript - 使用函数构造函数代替 eval() 来评估 AJAX 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21628446/