javascript 闭包
一.什么是闭包:
1.函数内部可以访问函数外部的变量,函数外部不能访问函数外部的变量。为了打破这种“不公平”,就产生了闭包。
2.函数调用结束后函数内部变量会退出内存,使用闭包,可以继续使用函数内部变量,因为函数被引用。如:案例二中:var n=test();
3.使用闭包还可以修改函数内部变量。
二.案例:
//案例一:(误区) function test(){ var num=10; return num; } var n=test(); alert(n()); //案例二:(闭包) function test(){ var num=10; var num1=function test1(){ return num; } return num1; } var n=test(); alert(n());
//案例三:(闭包修改内部变量)
function test(){
var num=10;
var num1=function test1(){ return num+1;
}
return num1;
}
var n=test();
alert(n());
当学会了觉得很简单,当不会的时候就觉得天快塌了。