扫盲打基-------理解js的闭包
2018-03-21 10:43
134 查看
1、解释:js因为函数里面还可以定义函数,闭包就是函数体内的搜寻变量作用域时候,可以往关联的父级函数搜索变量的一种特权。
当一个内部函数被其外部函数之外的变量引用时,就形成了一个闭包。
2、范例:
function add(a){
return function add2(b){
return function add3(c){
return a + b + c;
}
}
}
var sum = add(2);
var sum2 = sum(3);
var sum3 = sum2(4);
alert(sum3); ///9
3、闭包的使用场景或者优点:当我们需要在模块中定义一些变量,并希望这些变量一直保存在内存中但又不会“污染”全局的变量时,就可以用闭包来定义这个模块。
4、闭包的缺点或者风险点:有内存泄漏的风险
当一个内部函数被其外部函数之外的变量引用时,就形成了一个闭包。
2、范例:
function add(a){
return function add2(b){
return function add3(c){
return a + b + c;
}
}
}
var sum = add(2);
var sum2 = sum(3);
var sum3 = sum2(4);
alert(sum3); ///9
3、闭包的使用场景或者优点:当我们需要在模块中定义一些变量,并希望这些变量一直保存在内存中但又不会“污染”全局的变量时,就可以用闭包来定义这个模块。
4、闭包的缺点或者风险点:有内存泄漏的风险
相关文章推荐
- javascript:深入理解js闭包
- javascript深入理解js闭包
- js学习之----深入理解闭包
- javascript深入理解js闭包
- js中的闭包之我理解
- javascript深入理解js闭包
- 深入理解js中的闭包
- js闭包的理解
- javascript深入理解js闭包
- js中闭包的理解
- javascript深入理解js闭包
- 关于js闭包自己的理解
- javascript深入理解js闭包
- JavaScript学习笔记(九)—— JS 理解闭包
- 彻底理解js中的闭包
- javascript深入理解js闭包
- js闭包的理解
- javascript深入理解js闭包
- js中的闭包之我理解
- JS闭包理解