【作用域】

// 作用域 : 变量的有效使用范围; 
            // 变量在哪里可以使用,这个就是作用域需要了解的核心问题; 
            
            // JS的作用域其实很好理解 : 只有一种作用域就是函数作用域; 
            // 函数的大括号括起来的区域就是一个作用域; 
            
            function foo(){
                  var a = 10 ; 
                  console.log( a );
            }
            // 1. 在作用域之中声明的变量只能在这个作用域之中使用,其他位置是访问不到的; 
            // 2. 作用之中也存在声明提升特性; 
            foo();
            console.log( a );


            // 1. 变量访问规则 : 
            // 当我们使用变量的时候,这个变量访问会在距离变量访问最近的作用域之中进行查找,查看是否有我们要访问的变量; 
            //    如果有 : 直接出访问结果; 
            //    如果没有 : 向外层作用域查找 , 直到查找到全局作用域为止如果还没有找到对应的变量则直接报错 : 引用错误 ; 

            var a = 10;
            function foo(){
                  var b = 20;
                  console.log( a );
            }
            foo();
            console.log( b );

            // - 作用域分成两种 : 
            //  1. 全局作用 (没有被函数大括号包裹的地方就是全局作用域)
            //  2. 局部作用域 (被函数大括号包裹的地方)

            // - 访问变量最大的范围是全局作用域,找到全局作用域之后就不会再继续向上查找了; 

            var a = 10;
            function foo(){
                  var a = 20;
                  console.log( a );
            }
            foo();

           // 形参和局部变量是一致的概念; 

            var a = 10;
            function foo( a ){
                 console.log( a );
            }
            foo( 30 );

            // 2. 变量赋值规则 : 
            
            // - 根据访问规则找到我们赋值的变量是哪一个; 
            // - 进行赋值; 

            var a = 10;
            function foo( a ){
                 console.log( a ); // 30
                 a = 20;
                 console.log( a ); // 20;
            }
            foo( 30 );
            console.log( a ); // 10

            var b = 10;
            function foo(){
                  b = 20;
            }
            console.log( b ); // 10;
            foo();
            console.log( b ); // 20;

            // - 名称概念 : 
            //    在全局作用域之中声明的变量叫做全局变量; 
            //    在局部作用域之中声明的变量叫局部变量; 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chengxy鑫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值