JavaScript闭包的注意事项

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

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容