javascript - IE9 javascript eval() 的问题

标签 javascript internet-explorer-9

有什么理由吗

eval("(function(x){return x*x;})")

不使用 IE9 返回函数?

最佳答案

这是 JScript 解析器中的一个错误。它不应该在 IE9 中发生,除非您处于兼容或怪癖模式。

IE8 将您的函数表达式误解为函数声明,导致它无法返回任何内容。之前在 this question 中提到过.

您可以使用其他典型方法之一解决它,以消除 JScript 解析器对什么构成表达式与语句的混淆,例如:

eval('[function(x){return x*x;}][0]')
eval('0?0:function(x){return x*x;}')

关于javascript - IE9 javascript eval() 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6807649/

相关文章:

javascript - 难以提取 react 组件中的 id

angularjs - Angular UI 路由器无法使用 Internet Explorer 9 进行解析

css - z-index 和 Internet Explorer 9

image - 带图像的 Href 在 IE 中不起作用

javascript - 将 html div 导出到字符串

javascript - Flexbox 隐藏或显示不流畅

javascript - 基于元素id的onclick函数

inheritance - 以 class-extend.js 风格扩展自定义对象

javascript - 脚本438 : Object doesn't support property or method 'keys' for IE

jquery - 在 IE 9 中加速圆 Angular