我对实现以下目标的最佳做法感到有些困惑: 我有一个对象,需要加载2个JS库(jQuery和swfobject),可能已经加载或不加载,所以我必须在调用最终方法(输出)之前检查两个。 另一个棘手的问题是我必须将一些参数传递给初始方法(gen),并且那些args必须传递给输出。我应该使用.apply吗?
var myfancymethod = {
zclk: "string1",
zclk2: "string2",
loadsrc: function(what){
jQuery.getScript(what, function() {
alert (what+ "loaded");
});
},
checklibs: function(){
if (typeof libA == "undefined") {
this.loadsrc("libA.js");
}
if (typeof libB == "undefined") {
this.loadsrc("libB.js");
}
},
output: function (a, b, c){
//final output here
},
gen: function(a, b, c, d){
//have to check if libray A and B are loaded
this.checklibs();
//call to output()
?
}
myfancymethod.gen(a, b, c, d );
答案 0 :(得分:0)
如果您按照正确的顺序将图书馆放在页面的HEAD部分,它们将按照该顺序到达。所以不需要“checklibs”逻辑。
然后确保所有内容都已加载,包括DOM元素。 您将调用“输出”函数放在BODY标记末尾的SCRIPT标记中。