js变量的读写规则

js变量的读写规则

读的规则: 向上级作用域查找,找到了,就使用,同时,停止查找;找到顶级作用域,都没有,报错
写(设置,赋值)的规则: 向上级作用域查找,找到了,就写入,同时,停止查找;找到顶级作用域,都没有,会默认在顶级作用域声明这个变量,然后使用

var a = 10;
  function bigBox(){
       console.log(a);  //10

       function sBox(){

           // var a = 30; //带var的为局部变量
           a = 40;
           console.log(a)        //40
           function fn(){
               console.log(a);     //40
               b = 50;
               console.log(b);  //50
           }
           fn();
           console.log(b) //50
       }
       sBox();
       console.log(b)  //50
   }
   bigBox();

   console.log(a);  //40

   console.log(b);  //50


请用今天的努力,让明天没有遗憾。
原文地址:https://www.cnblogs.com/cupid10/p/12792156.html