2

众所周知,js函数内部的局部变量,外界是访问不到的。那么js中是如何访问函数内部的局部变量。

今天有个很简单的需求,要用到函数内的变量,简单记一下;

        function t() {
            let ttt = "测试";//要获取的变量
        }
        console.log(ttt);

当然这个报错了,ttt not Defind

解决方式,使用闭包然后return出去;

        function t() {
            let ttt = "测试";
            return function () {
                return ttt;
            }
        }
        console.log(ttt);

成功访问

还有个例子:

function one() {
    var a = 1;
    return function () {
        return a;
    };
}
//方式一,匿名函数调用
alert(one( ));         //返回匿名方法function()
alert(one( )( ));      //返回1
//另一种方式,较为直观
var b = one();
alert(b());             //返回1

Kason
209 声望6 粉丝