我有几个模块要从字符串中实例化对象。当类/对象等在全局范围内时,这通常很容易window
new window["MyClass"]()
使用 require JS,模块不在范围内,如果在一个类中window
,它们也不在。this
你知道我需要什么范围吗?
define(['testclassb'], function(TestClassB) {
var TestClassA, testclassa;
TestClassA = (function() {
function TestClassA() {
console.log("A");
new this["TestClassB"](); #errors with undefined function
new window["TestClassB"](); #errors with undefined function
new TestClassB(); #works fine
}
TestClassA.prototype.wave = function() {
return console.log("Wave");
};
return TestClassA;
})();
testclassa = new TestClassA();
return testclassa.wave();
});