javascript - 将数组转换为函数,使用 jquery 制作一个 javascript 加载器

标签 javascript jquery logic

我们如何从像这样的数组中创建一个函数

$.loader({
    js: [
        ['1.js','3.js','2.js'], 
        ['4.js'], 
        ['5.js'] 
    ]
}); 

做某事

$.when(
    $.getScript("1.js"),
    $.getScript('3.js'),
    $.getScript('2.js'))
    .then(
        function(){
            $.getScript('4.js').then(function(){
                $.getScript('5.js');
            })
        });

这是我目前正在做的事情

loader: function(arg){
    var js = arg;
    var phase = 0;
    for (var i = 0; i < o.length; i++) {
        console.log(o[i]);
        $.each(o[i], function(key,src) {
            //append javascript
        });
    };
}

enter image description here

问题是我不知道从哪里开始。 这就是我的想法

  1. 我将它们分成几个阶段。
  2. 设置第 0 阶段,它将运行第一个阵列,但我该怎么做? $.getScript(src) 用于每个 src 剂量堆栈。或链。也许把它放在一个 var sting 中?像 string + = $.getScript(src). 所以它会像 $.getScript("1.js").getScript("3.js").getScript("2 .js") 直到出现字符串数组,在本例中为 3。然后做一些像在字符串前面附加 $.when( 然后在字符串后面我们放 .then(function(){ 直到它完成然后以某种方式关闭字符串。
  3. 好吧,我不知道(这是 stackoverflow 上的帖子)

最佳答案

function lScripts(startAt){
for (var i = startAt; i < js.length; i++) {    
    if (js[i].constructor == Array){
        for (var j = 0; j < js[i].length; j++) {
            if(j==js[i].length){
                $.getScript('js[i][j]',function(){
                    lScripts(startAt+1);
                });
            }else{
                $.getScript('js[i][j]');
            }

        }

    }else{
         $.getScript('js[i]',function(){
            lScripts(startAt+1);
         });

    }
}
}

lScripts(0);

关于javascript - 将数组转换为函数,使用 jquery 制作一个 javascript 加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7029386/

相关文章:

javascript - 从长绳子中取出一段绳子

javascript - AngularJS - 绑定(bind)计时

javascript - javascript 或 jquery 中的 nth-child 等效项

javascript - CSS,Jquery - 绝对定位的 div 的宽度返回为 0

c - 解释类型转换如何在 C 中从 int 到 short 的位级别工作

javascript - 使用自定义 JavaScript 监控用户行为

javascript - Backbone - 如何重构此代码以防止重影 View ?

jquery - 悬停在 jQuery 增量 fontSize 错误

java - 如何在这个 Java 程序中获取逻辑以使我的循环正常工作?

powershell - Foreach 循环中的多个变量 [PowerShell]