回调结构

时间:2010-02-07 18:27:25

标签: javascript jquery

我对实现以下目标的最佳做法感到有些困惑: 我有一个对象,需要加载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 );

1 个答案:

答案 0 :(得分:0)

如果您按照正确的顺序将图书馆放在页面的HEAD部分,它们将按照该顺序到达。所以不需要“checklibs”逻辑。

然后确保所有内容都已加载,包括DOM元素。 您将调用“输出”函数放在BODY标记末尾的SCRIPT标记中。