相关问题
//闭包参数1
function outer1(){
var i=1;
return function(i) { //i小函数的局部变量 undefined
i++;
console.log(i);
}
}
var getNum1=outer1();
getNum1();//NaN
getNum1();//NaN
getNum1();//NaN
getNum1();//NaN
//闭包参数2
function outer2(){
var i=1;
return function(i) { //i小函数的局部变量 undefined
console.log(i);
i++;
}
}
var getNum1=outer1();
getNum1();//undefined
getNum1();//undefined
getNum1();//undefined
getNum1();//undefined
//闭包参数3
function outer3(){
var i=1;
return function() { //i小函数的局部变量 undefined
console.log(i);
i++;
}
}
var getNum3=outer3();
getNum3();//1
getNum3();//2
getNum3();//3
getNum3();//4
本文通过三个示例探讨了JavaScript中闭包的概念及其如何处理局部变量的作用域问题。闭包能够记住并访问其外部函数的变量,即使外部函数已经执行完毕。本文展示了不同情况下闭包如何工作,包括如何正确地递增计数器。

537

被折叠的 条评论
为什么被折叠?



