做用域鏈:變量與函數的查找規則,也就是自由變量的查找函數
查找規則:若是一個函數須要用到一個變量,先會在本身的做用域查找,查找到用本身的,沒有查到,就一層層往外找,直到找到外面的變量.spa
注意:只會往外找,不會往裏找code
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();