美文网首页
函数全局变量、局部变量以及作用域的练习

函数全局变量、局部变量以及作用域的练习

作者: bigFish_Yu | 来源:发表于2019-12-20 20:56 被阅读0次

1. 注意函数调用后会将100赋值给全局的a

     var a = 10;
     function fn() {
         a = 100;
         console.log("函数内的a:", a); //100
     }
     console.log("函数外的a:", a); //10
     fn();
     console.log("函数外的a:", a); //100

2.局部与全局的作用域区分

     var a = 10;
     function fn() {
         var a = 100;
         console.log(a); //100
     }
     fn();
     console.log(a); //10

2.1 fn()内重新声明a将函数内部的a变成了局部函数

    var a = 10;
    function fn() {
、、
        a = 100; 
        console.log(a);//100

        var a = 1332;
    }
    fn();
    console.log(a);//10

3.

    var a = 10;
    function fn(a) {
        //var a;
        console.log(a);//undefined
        a = 100;
        console.log(a);//100
    }
    fn(10);
    console.log(a);//10

4. a=100,变量提升,但是没有var也没有赋值,所以报错

    console.log(a);  //err
    a = 100;
    console.log(a);  //

    function fn() {
        a = 100;
        console.log("我是函数里的a:", a); //
    }

    fn();
    console.log("我是函数外的a:", a); //

5. a=b=10;会将b变成全局变量

    var a = b = 10;

    function fn() {
        var a = b = 20;

        console.log("函数内:", a, b); //20,20
    }

    fn();
    console.log("函数外", a, b);//10,20

6. c()里没有a,往外找一层就找到全局的a

    var a = 10;
    function fn() {
        var a = 100;
        console.log("函数内:", a);//100

        c(); //10

        // function b() {
        //     var a = 1000;
        //     c();
        // }
        // b();
    }
    function c() {
        console.log("c里面的a", a);
    }
    fn();

7.c()往外找一层,就找到局部的a=100;

    var a = 10;
    function fn() {
        var a = 100;
        console.log("函数内:", a); //100

        c();

        function c() {
            console.log("c里面的a", a); //100
        }
    }
    fn();
    console.log("函数外:", a);//10

相关文章

  • js闭包

    1. 变量作用域 变量作用域两种:全局变量、局部变量。 全局变量:函数外声明的变量,称为全局变量 局部变量:函数...

  • JavaScript作用域链

    作用域时变量与函数的可访问范围。全局变量拥有全局作用域,局部变量是在函数体内声明而且只作用在函数体内部以及该函数体...

  • Scope

    1. 全局作用域 全局变量拥有全局作用域 2. 函数作用域 在函数内声明的变量用于函数作用域。在函数体内,局部变量...

  • 面试总结

    1. 闭包 ① 作用域 变量的作用域:全局变量和局部变量 函数内部可以直接读取全局变量,但是在函数外部无法读取函数...

  • 函数作用域以及作用域链

    变量作用域 在JS中区分函数作用域时主要区分为函数内部定义变量(局部变量)和函数外部定义变量(全局变量) 局部变量...

  • JavaScript闭包

    特殊的变量作用域js变量的作用域有:全局变量和局部变量。函数内部可以直接读取全局变量,函数外部无法读取函数内的局部...

  • JavaScript中的作用域及作用域链

    作用域 变量作用域有两种:全局变量和局部变量。 变量在函数外定义,即为全局变量,全局变量有全局作用域:网页中所有脚...

  • js闭包

    一、变量的作用域 变量的两种作用域:全局变量和局部变量。函数内部可以直接读取全局变量 在函数外部自然无法读取函数内...

  • Python基础016--函数的操作、全局变量和局部变量的声明和

    函数的定义、创建以及参数的定义,全局变量和局部变量的声明和作用域, *args, **kwargs的使用 函数的定...

  • Python学习笔记01

    函数内容一: 作用域:全局变量,局部变量 形参和实参

网友评论

      本文标题:函数全局变量、局部变量以及作用域的练习

      本文链接:https://www.haomeiwen.com/subject/jezinctx.html