作用域链:变量与函数的查找规则,也就是自由变量的查找
查找规则:如果一个函数需要用到一个变量,先会在自己的作用域查找,查找到用自己的,没有查到,就一层层往外找,直到找到外面的变量.
注意:只会往外找,不会往里找
1 var a=100; 2 3 function fn(){ 4 var b=200; 5 6 console.log(b); // 200 7 //当前作用域没有定义的变量(自由变量),当前作用域没有a,到函数的父级作用域寻找 8 console.log(a); // 100 9 } 10 fn(); 11 12 function fn2(){ 13 var a=20; 14 console.log(a); // 20 在函数内部找到了就用自己的 就近原则 15 } 16 fn2();