我努力理解for循环中的代码,但我无法实现任何目标。该程序输出A-Z (作为练习)
问题:
为什么该循环内部存在 IIFE 。为什么删除它不起作用。这是什么角色。
哦,该死的,我对这个循环及其工作原理有很多疑问。我试过调试,但没有结果作为教学材料。有人可以解释一下吗?像堆叠一样。
调试器;
(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)();