闭包题

作者: 阿鲁提尔 | 来源:发表于2017-08-31 23:44 被阅读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) //输出多少

相关文章

  • 闭包题

    函数在执行的过程中,先从自己内部找变量; 如果找不到,再从创建当前函数所在的作用域去找,依此往上; 注意找的是变量...

  • Python入门与进阶(11-13 11-14 11-15)

    11-13 出个题,用闭包解决!11-14 先用非闭包的方法解决11-15 再用闭包解决一下_

  • 闭包经典题

    小测试 手动想想为何输出以上值

  • 闭包经典题

    使用var或是非对象内部的函数表达式内,可以访问到存放当前函数的变量;在对象内部的不能访问到。 原因也非常简单,因...

  • 闭包经典题

    click me click me click me click me var elements = d...

  • JavaScript题 - 闭包

  • JavaScript深入之闭包

    JavaScript深入系列第八篇,介绍理论上的闭包和实践上的闭包,以及从作用域链的角度解析经典的闭包题。 定义 ...

  • swift-闭包

    闭包 闭包定义 闭包简化 - 尾随闭包 闭包参数 闭包返回值 闭包的循环引用

  • 闭包,闭包,闭包

    1、这家伙到底是什么? 网上关于这个的讨论的太多了太多了,有各种的举例子,但是大部分还在寻找这个答案的小伙伴对于变...

  • 闭包-Closures [swift 5.1]

    闭包的语法 尾随闭包 闭包逃离 自动闭包

网友评论

      本文标题:闭包题

      本文链接:https://www.haomeiwen.com/subject/idthjxtx.html