闭包

变量作用域

变量根据作用域的不同分为两种:全局变量和局部变量        

1.函数内部可以使用全局变量        

2.函数外部不可以使用局部变量       

3.当函数执行完毕,本作用域内的局部变量会销毁 

从外部读取函数内部的局部变量

function fun1(){

    var num = 1;

    function fun2(){

        alert(num);

    }

    return fun2;

}

var f = fun1();

f();

在上面的代码中,函数fun2被包括在函数fun1内部,这时fun1内部的所有局部变量,对fun2都是可见的。但是反过来就不行,fun2内部的局部变量,对fun1就是不可见的。

闭包概念

闭包就是能够读取其他函数内部变量的函数。

上述代码中fun1就是一个闭包,简单说就是变量所在的函数。

闭包的用途

1.读取函数内部的变量

2.让变量始终保持在内存中,不会在函数执行后被自动清除

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容