IIFE内循环

时间:2016-11-08 13:25:17

标签: javascript

我努力理解for循环中的代码,但我无法实现任何目标。该程序输出A-Z (作为练习)

问题:

  1. 为什么该循环内部存在 IIFE 。为什么删除它不起作用。这是什么角色。

  2. 哦,该死的,我对这个循环及其工作原理有很多疑问。我试过调试,但没有结果作为教学材料。有人可以解释一下吗?像堆叠一样。

  3. 调试器;

    (function(global){
    
    function C() {
        console.log("OOPS!");
    }
    
    function E(f) {
        console.log("E");
        f();
        var f = F;
    }
    var A = function() {
        console.log("A");
        B();
    };
    
    var C;
    
    function G() {
        console.log("G");
        H();
    
        function H() {
            console.log("H");
            I();
        }
    }
    var D = d;
    function d() {
        console.log("D");
        E(F);
    }
    
    function I() {
        console.log("I");
        J();
        J();
    }
    var B = function() {
        console.log("B");
        C();
    };
    
    var F = function() {
        console.log("F");
        G();
    };
    
    obj = {};
    var rest = "KLMNOPQRSTUVWXYZ".split("");
    
    for (var i=0; i<rest.length; i++) {
        (function(i){
            // define the current function
            obj[rest[i]] = function() {
                console.log(rest[i]);
                if (i < (rest.length-1)) {
                    obj[rest[i+1]]();
                }
            };
        })(i);
    }
    
    var J = function() {
        J = function() {
            console.log("J");
            obj.K();
        };
    };
    
    function C() {
        console.log("C");
        D();
    }
    return A;
    })(window)();
    

0 个答案:

没有答案