闭包题

2017-08-31  本文已影响0人  阿鲁提尔
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) //输出多少
上一篇 下一篇

猜你喜欢

热点阅读