JS中,什么是闭包?闭包有什么好处?
2021-03-27 04:27
标签:cti 函数表达式 ++ 变量 表达式 class 引用 全局 turn 相信网上对闭包有很多的解释,毕竟这个玩意儿是仁者见仁智者见智,对于我来说,总结了2个特性: 1.函数嵌套函数,内部函数可以引用外部函数的参数和变量 2.参数和变量不会被垃圾回收机制所收回 下面来扯一下闭包的好处: 1.希望变量长期驻扎在内存当中(一般函数执行完毕,变量和参数会被销毁) 2.避免全局变量的污染 JS中,什么是闭包?闭包有什么好处? 标签:cti 函数表达式 ++ 变量 表达式 class 引用 全局 turn 原文地址:https://www.cnblogs.com/0955xf/p/12634418.htmlfunction aaa() {
var a = 5;
function bbb() {
alert(a)
}
return bbb
}
var c = aaa();
c();
JS中的垃圾回收机制
function test(){
var a = 1;
alert(a)
}
test(); // 执行完这个函数,函数里面的a就不存在了,
function aaa() {
var a = 1;
a++;
alert(a)
}
aaa(); // 2
aaa(); // 2
aaa(); // 2
上面的函数不管执行几次,弹出的都是2,如果我们想弹出2/3/4 这样的结果呢?就需要用到闭包
function aaa() {
var a = 1;
return function(){
a++;
alert(a)
}
}
var bbb = aaa();
bbb(); // 2
bbb(); // 3
bbb(); // 4
// 函数表达式的写法
var aaa = (function () {
var a = 1;
return function () {
a++;
alert(a)
}
})()
aaa() // 2
aaa() // 3
aaa() // 4
上一篇:GitHub(一)之图片上传问题
下一篇:CSS3
文章标题:JS中,什么是闭包?闭包有什么好处?
文章链接:http://soscw.com/index.php/essay/68421.html