如何在不知道名称的情况下调用javascript匿名对象?

时间:2013-08-06 22:44:14

标签: javascript jquery

我正在使用jquerys getScript动态加载一些javascript模块。我希望能够调用所有模块都具有的init方法。模块是动态加载的,所以我不想硬编码名称。是否有可能以某种方式调用init而不使用构造函数?

 $.getScript("/mydynamicmodule.js", function (data, textStatus, jqxhr) {

              myModuleName.init()         

            });

2 个答案:

答案 0 :(得分:1)

关于Samer建议的内容,您已经有一个模块位置的字符串,例如“/mydynamicmoudle.js”。我不知道你是如何得到这个字符串的(即,你是从某个地方加载它等),但你可以尝试以下方面:

function openModule(name) {
    $.getScript("/"+name+".js", function (data, textStatus, jqxhr) {
        window[name].init();
    }
}

这假设您的模块具有可以从您的文件名派生的别名。

答案 1 :(得分:0)

如果你的模块名称在全局命名空间(window)中,那么你可以试试这个:

window['myModule'].init();