javascript - 在 Firefox 中使用 eval 方法从字符串中获取类

标签 javascript firefox eval es6-class

我尝试过的(在 chrome 中有效)

var class_str = "class Test {};";
var a = eval(class_str);
console.log(new a());

在 Firefox 46 中引发以下错误:

TypeError: a is not a constructor

a 未定义,使用 new A() 返回 ReferenceError: A is not defined

Firefox 有什么不同?

最佳答案

将整个类字符串放在括号中是可行的。

固定代码:

var class_str = "(class Test {})";
var a = eval(class_str);
console.log(new a());

关于javascript - 在 Firefox 中使用 eval 方法从字符串中获取类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39298985/

相关文章:

javascript - 解析 JSON 数据在第一个结果前面给出 "undefined"

javascript - 如何为 express.js 应用程序而不是 React 应用程序设置 webpack?

javascript - 如何使用消息正确抽象 console.log 颜色变量

javascript - 迭代窗口对象的属性时出现异常 "Component is not available"

python - 如何获得 eval 语句以将数字作为 float 运行

php - eval函数的替代方案是什么?

javascript - 异步加载的 SVG-Filter feColorMatrix 在 Chrome 中工作,而不是在 Safari 或 Firefox 中工作

html - 使用显示 : table and display: inline-block 的 IE 或 FF 中的 Div 未正确对齐

java - jsp 自动完成 ="off"在 Chrome 或 Firefox 中不起作用

performance - javascript shell 与 pymongo 中 db.eval() 的 MongoDB 性能