所以基本上我有一个app.js文件,它有一个传递参数的函数
我有更多js文件,如posts.js,comment.js 然后我可以做app.init('posts');
然后我找到了文件,使用getscript获取它,但现在我需要调用该文件。
这是我的代码
init:function(file){
getfile = file;
if($.inArray(getfile+'.js', modular_array)!==-1){
$.getScript("js/modulars/"+getfile+'.js', function(data){
console.log(eval(getfile)["init"]); // this does not! why
//console.log(posts.init()); // this works
});
} else {
console.log('not it');
}
}
答案 0 :(得分:0)
getScript
自动加载并运行脚本文件 - 您无需手动执行它:
init:function(file){
getfile = file;
if($.inArray(getfile+'.js', modular_array)!==-1){
$.getScript("js/modulars/"+getfile+'.js');
} else {
console.log('not it');
}
}
如果你想调用脚本定义的一些初始化函数,你可以直接调用它,如你所发现的那样:posts.init()
代码eval(getfile)
不起作用,因为getfile
是文件名。 eval
需要包含Javascript代码的字符串。