我尝试过的(在 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/