
1、创建了一个闭包以后,函数的作用域就会一直保存到闭包不存在为止。
functionmakeAdder(x){
returnfunction(y){
returnx+y;
};
}
varadd5=makeAdder(5);
varadd10=makeAdder(10);
console.log(add5(2));//7
console.log(add10(2));//12
//释放对闭包的引用
add5=null;
add10=null;
2、闭包只能取得包含函数中任何变量的最后一个值,因为闭包所保存的是整个变量对象,而不是某个特殊的变量。
functiontest(){
vararr=[];
for(vari=0;i<10;i++){
arr[i]=function(){
returni;
};
}
for(vara=0;a<10;a++){
console.log(arr[a]());
}
}
test();//连续打印10个10
以上就是JavaScript闭包的注意事项,希望对大家有所帮助。更多Javascript学习指路:Javascript
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END















































暂无评论内容