您的位置:首页 > Web前端 > JavaScript

扫盲打基-------理解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、闭包的缺点或者风险点:有内存泄漏的风险
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: