js在函数外部调用局部变量的方法

1,470 阅读1分钟

如果直接在函数外部调用局部变量。会发现报错。

        function num() {
           var a = 7;
        }
        num();
        console.log(a);

image.png

(1)此时如果在函数内加入window.a=a;则可以在外部调用。

    function num() {
        var a = 7;
        window.a = a;
    }
    num();
    console.log(a);
    

image.png

(2)当然,也可以直接在函数内部定义全局变量。

PS :如果在函数内部定义变量时不加 var等声明,此时变量就是全局变量

   ` function num() {
        a = 7;
    }
    num();
    console.log(a);
    `

但是并不建议这么做,因为局部作用域中定义的全局变量很难维护。

(3)通过在函数内部加入return返回值。

    `function num() {
        var a = 7;
        return a;
    }
    console.log(num());`