我有这个代码,我将jsFile名称传递给load,并调用java脚本函数。但由于该函数仍未加载,因此我必须发送字符串名称并使用此类型的switch语句。
$.getScript(jsFile, function() {
switch(initFunc){
case 'a':
a();
break;
case 'b':
b();
break;
};
});
无论如何,这可以简化,我不想要条件陈述。
答案 0 :(得分:2)
如果正在加载的脚本将这些函数定义为全局函数(使用a()
和b()
似乎表明它确实存在),则可以将window
用作浏览器中的全局对象:
$.getScript(jsFile, function () {
window[initFunc]();
});
答案 1 :(得分:2)
您可以将脚本名称和回调函数的名称传递给看起来像这样的包装器:
function loadNExecute(scriptName, callbackName) {
$.getScript(scriptName, function() {
window[callbackName]();
});
}
您当然需要确保成功加载脚本并调整回调函数的父级(在上例中为window
)以满足您的需求。