闭包

2020-11-25  本文已影响0人  hualayou

变量作用域

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

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.让变量始终保持在内存中,不会在函数执行后被自动清除

上一篇下一篇

猜你喜欢

热点阅读