var a=1;
function fn() {
var a=2;
function fnSon() {
console.log('fnSonBef...'+a)//2
a=3;
console.log('fnSon...'+a)//3
}
console.log('fnBef...'+a)//2
fnSon()
console.log('fn...'+a)//3
}
console.log('f...'+a)//1
fn()
console.log('last...'+a)//3
分析:这道题,考察词法作用域。重点在于理解函数的执行以及作用域之间的问题。