我正在使用jquerys getScript动态加载一些javascript模块。我希望能够调用所有模块都具有的init方法。模块是动态加载的,所以我不想硬编码名称。是否有可能以某种方式调用init而不使用构造函数?
$.getScript("/mydynamicmodule.js", function (data, textStatus, jqxhr) {
myModuleName.init()
});
答案 0 :(得分:1)
关于Samer建议的内容,您已经有一个模块位置的字符串,例如“/mydynamicmoudle.js”。我不知道你是如何得到这个字符串的(即,你是从某个地方加载它等),但你可以尝试以下方面:
function openModule(name) {
$.getScript("/"+name+".js", function (data, textStatus, jqxhr) {
window[name].init();
}
}
这假设您的模块具有可以从您的文件名派生的别名。
答案 1 :(得分:0)
如果你的模块名称在全局命名空间(window
)中,那么你可以试试这个:
window['myModule'].init();