JS作用域链 了解

 

定义:

1.  var 函数内定义 为局部变量  如function e(){ var a  = 1 ;}  , 函数内没用var定义变量为全局变量 如 function e(){ a = 1 ;}.

2. 

var data = 10; //全局变量

function f1(){
    data = 100; //全局变量
    function f2(){
        data = 1000;//全局变量
        function f3(){
            data = 10000; //全局变量
        }
        f3();
    }
    f2();
}
f1();
console.log(data);
 
函数执行顺序
f1 -> f2 -> f3
作用域链:
f3 -> f2->f1-> window
 
变量是对象的一个属性 data变量是对象f3的一个属性 ,并且属于f2对象
 
参考:
 
posted @ 2017-03-03 11:01  星耀学园  阅读(182)  评论(0)    收藏  举报