var outer = 'outer'; function fn(){ console.log(outer); } fn(); //outer
局部作用域
1 2 3 4 5
function fn(){ var inner= 'inner'; } fn(); console.log(inner); //undefined
变量提前声明
1 2 3 4 5 6 7
var global = 'global'; function fn(){ console.log(global); //undefined var global = 'newGlobal'; console.log(global); //newGlobal } console.log(global); //global
相当于:
1 2 3 4 5 6 7 8
var global = 'global'; function fn(){ var global; //提前声明了局部变量; console.log(global); //undefined var global = 'newGlobal'; console.log(global); //newGlobal } console.log(global); //global