javascript - 使用函数构造函数代替 eval() 来评估 AJAX 结果

标签 javascript ajax function

任何人都可以提出为什么这可能比使用 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/

相关文章:

ajax - 包含值的双引号的 JSON 字符串作为 NULL 发送到 Controller

ajax - CakePHP 设置依赖 AJAX 下拉列表

PHP MySQL : mysqli_free_result

c - 返回值的有用性不依赖于所有(仅按值调用)参数

javascript - 如何根据 JSON 属性名称替换字符串值

javascript - 通用 Javascript 图像交换

javascript - d3.js 树结构文本链接

javascript - Bootstrap Accordion 对于 chrome 和 Mozilla 的不同行为

ajax - STOMP 和 JSON

c - 如何将结构体指针传递给函数?