美文网首页
闭包要点

闭包要点

作者: chiang24 | 来源:发表于2017-07-28 02:17 被阅读36次

闭包

  1. 借助全局变量
    !function(){
    var user  = {
        name:'chiang',
        age:21
    }
    
    window.uesrGetter = {
      nameGetter:function(){
        return user.name    //拷贝了name的值
      },
      ageGetter:function(){
        return user.age
      },
      old:function(){
        user.age += 1
      }
    }
    }()
    
    !function(){
      window.userGetter.nameGetter()
      window.userGetter.ageGetter()
      window.userGetter.old()
    }()

由于userGetter作为window的一个属性,所以其它地方可以访问到这个函数,又由于userGetter可以访问到user的属性,所以相当在于其他地方间接访问了user,但是不能让别的作用于修改user。

  1. 不借助全局变量
    !function(){
    function olderMaker(){
      var user  = {
        name:'chiang',
        age:21
      }
      return function(){
        user.age += 1
      }
      
      return older = olderMaker()
      older.call()
    }
    }()

olderMaker为了让user有一个独立的作用域,return function是为了让其它作用域访问user

相关文章

  • 闭包要点

    闭包 借助全局变量 由于userGetter作为window的一个属性,所以其它地方可以访问到这个函数,又由于us...

  • 闭包要点

    闭包:只需记住以下两种情况:1.函数作为返回值: 要点:闭包其实就是个函数,在闭包里面调用外部的变量,变量的值取在...

  • iOS Block 原理解析

    一 : block要点分析 [ block是个闭包 ] block他的本质就是闭包功能在iOS上的实现。而闭包功能...

  • 真正理解闭包

    参考资料:学习Javascript闭包(Closure) 要点总结: 1、闭包就是能够读取其他函数内部变量的函数。...

  • swift-闭包

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

  • Python基础学习6

    函数学习要点:4、函数闭包5、装饰器6、内建函数7、自定义上下文管理器实践操作代码:函数闭包(定义:外部函数当中变...

  • 15.javascript 匿名函数和闭包

    学习要点: 1.匿名函数2.闭包 匿名函数就是没有名字的函数,闭包是可访问一个函数作用域里变量的函数。声明:本节内...

  • 闭包,闭包,闭包

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

  • 闭包-Closures [swift 5.1]

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

  • Day7 闭包(Closures)

    本页包含内容:• 闭包表达式• 尾随闭包• 值捕获• 闭包是引用类型• 逃逸闭包• 自动闭包 1、闭包表达式 闭包...

网友评论

      本文标题:闭包要点

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