我有这样的 xml 文件
<X/>
我希望能够从中构造 JavaScript 对象。我必须从标签中检索 JavaScript 对象。可能使用 Reflection API。为简单起见,标签名称等于类名称。
如何从类的字符串名称中检索类?
<html>
<head>
<script type="text/javascript">
class X {
work(number, text, check) {
console.log("X.work: " + number + ", " + text + ", " + check);
}
}
// 1)
var x1 = new X();
x1.work(1, "Hello", false);
// 2)
var className = "X";
var klass = window[className];
var x2 = new klass();
x2.work(1, "Hello", false); // klass == undefined
</script>
</head>
</html>
我有以下 Chrome 51.0.2704.103 的输入
X.work: 1, Hello, false
Uncaught TypeError: Cannot read property 'work' of undefined
我可以在 JavaScript 中使用类,只需知道它的名称吗?
由于 Javascript 中的“类”只不过是常规变量/函数,所以您真正要求的是“变量变量”,使用对象映射最容易实现:
var nodes = {
X: class X { ... },
Y: class Y { ... }
};
// or:
class X { ... }
var nodes = { X: X };
// or the convenience shorthand in ES6:
var nodes = { X };
// then:
new nodes['X'](...);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)