var a = 1
function fn1(){
function fn3(){
function fn2(){
console.log(a)
}
fn2()
var a = 4
}
var a = 2
return fn3
}
var fn = fn1()
fn() //输出多少 //undefined
var a = 1
function fn1(){
function fn3(a){
function fn2(){
console.log(a)
}
fn2()
a = 4
}
var a = 2
return fn3
}
var fn = fn1()
fn(5) //输出多少 5
var a = 1
function fn1(){
function fn3(){
var a = arguments[0] //相当于
function fn2(){
console.log(a)
}
fn2()
a = 4
}
var a = 2
return fn3
}
var fn = fn1()
fn(5) //输出多少