如何将回调分配给变量

时间:2013-08-31 01:33:36

标签: javascript dynamic callback load

我正在玩javascript,加载文件和玩回调。

我目前正在使用此代码

    var test_two = {};
(function(pub) {
    var self = this;
    pub.loadScript = function(url, callback){

        var script = document.createElement("script")
        script.type = "text/javascript";
        script.src = url+'.js';
        if (script.readyState){  //IE
            script.onreadystatechange = function(){
                if (script.readyState == "loaded" ||
                        script.readyState == "complete"){
                    script.onreadystatechange = null;
                    callback();
                }
            };
        } else {  //Others
            script.onload = function(){
                callback();
            };
        }
        console.log('Callback '+callback);
        self[url] = callback;
        document.getElementsByTagName("head")[0].appendChild(script);
    }

})(test_two);

如果我像

一样使用它,这确实有效
    test_two.loadScript('loadIt', function(){
    //code here
});

现在我想要的是能够做类似

的事情
 loaded_script = test_two.loadScript('loadIt');

test_two.loadScript('loadIt', loaded_script);

并使用'loaded_script'

引用加载的脚本(变量和方法)

我已尝试将其自动添加到我拥有的命名空间中,如您所见

self[url] = callback;

但它未定义。

您可以通过RequireJS看到这一点。

现在在你告诉我搜索之前,我一整天都在搜索没有任何答案给我我需要的东西,我不想使用RequireJS或jQuery,因为我正在努力学习这样的工作和不只是开始使用代码。

是否有任何页面可以帮助我实际完成我想要的内容,或者有人可以帮助我吗?

0 个答案:

没有答案