最近纠结于闭包被告知这是jser避不过但是又要过的关卡,但小君是征服过山海关的男人,还会怕这个?
今天写点关于闭包的学习笔记,后续学习也会记录。
function get(){
var local='g';
return local
}
get();//'g'
在函数中申明的局部变量在函数返回之后销毁了,但是又经常会需要局部变量一直存在。比如计数器等,count变量表示某按钮点击的次数,如果直接全局变量会有变量污染。所以有聪明人用了下面的方法。
function get2(){
var local='g';
return funtion(){ local };
}
var func=get2();//这里的get2函数已经被调用一次,一般来说其中的变量已经被释放掉了。
get(2);//‘g’ 居然还是‘g’,天哪。这怎么办好呢
这个不得不提js的作用域设计了。。。因为