2018/03/30 JavaScript学习日记---作用域链

1.定义
变量在当前环境Now、内部环境f1、内部深层环境f23…都起作用的现象形成了一个链条,这个链条称为变量的“作用域链”。

    <title>新建网页</title>
    <script type="text/javascript">
      var banji = "0000";
      console.log('班号:'+banji);

      function f1(){
        console.log('f1:'+banji);
        function f2(){
          console.log('f2:'+banji);
        }
        f2();//0000
      }
      f1();//0000
    </script>

2.作用域链的作用

  • 变量必须先声明后使用,函数可以先使用后声明
  • 内部环境可以访问外部环境的变量,反之不行
  • 变量的作用域是声明时候决定的,而不是运行时候
    <script type="text/javascript">
      var week = "Sunday";  //week是全局变量
      function f1(){
        console.log('星期:'+week);
      }
        function f2(){
          var week = "Monday";     //week局部变量
          f1();
        }
        f2();   //sunday
    </script>
    <title>新建网页</title>
    <script type="text/javascript">
      var subject = "JS";  //week是全局变量
      function f1(){
        console.log('科目:'+subject);
      }
          subject = "html";     //week局部变量
          f1();   //html   按顺序执行
    </script>

3.AO活动对象
在不断的寻找变量的过程,看起来是一个动态过程,其实是一个固态过程。在一个环境内部获得一个变量,该变量早早的已经固化成本身环境的AO活动对象属性
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值