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
暂无评论内容