美文网首页
闭包的一点功能

闭包的一点功能

作者: 双人赫 | 来源:发表于2019-07-16 16:27 被阅读0次

1,在函数外部获取局部变量

function test(){
    var a = 100
    function test2(){
      console.log(a)
    }
      return test2
 }
 test()()//100

2,让局部变量始终生存在内存当中,避免被垃圾回收机制回收

function fun(){
  var num = 1000
  nAdd = function(){num+=1}
  return function(){
    console.log(num)
  }
}
var result = fun()
result()//1000
nAdd()//1001
result()//1001

3,关注点:闭包中的this,大部分指向的都是window

var theName =  'outside'
var testObj = {
  theName:'inside',
  getNameFun:function(){
    return function(){
      console.log(this.theName)
    }
  }
}
testObj.getNameFun()()//outside

但是由于箭头函数的this指向是跟着父级走的,那么
var theName =  'outside'
var testObj = {
  theName:'inside',
  getNameFun:function(){
    return ()=>{
      console.log(this.theName)
    }
  }
}
testObj.getNameFun()()//inside

这里getNameFun的父级是testObj 这个对象,这里的this指向对象内部,打印结果为inside

相关文章

  • iOS Block 原理解析

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

  • 闭包的一点功能

    1,在函数外部获取局部变量 2,让局部变量始终生存在内存当中,避免被垃圾回收机制回收 3,关注点:闭包中的this...

  • Swift 2.1 Closure(闭包)

    # 闭包(closures) -/*闭包(Closures) - *闭包是自包含的功能代码块,可以在代码中使用或者...

  • 每天学一点Swift----闭包(二)

    七.闭包表达式 1.调用闭包(使用闭包返回值):闭包的本质是功能更加灵活的代码块,因此完全可以将闭包赋值给变量(联...

  • Swift-闭包

    Swift-闭包 Swift闭包的含义 闭包是自包含的功能代码块,可以用作函数的参数或者返回值 闭包可以捕获上下文...

  • Swift基础 : 闭包

    Swift 闭包 闭包(Closures)是包含功能的代码块, 可以在代码中使用或者用来作为参数传值 闭包的定义:...

  • Swift5.5学习笔记六:闭包(Closures)

    //闭包(Closures)//闭包是独立的功能块,可以在代码中传递和使用。//Swift中的闭包类似于 C 和 ...

  • Swift 闭包

    @Author Swift 闭包(Closure) 闭包是一种可以在代码中作为参数传递,自含的功能块。 闭包类似于...

  • 07 闭包

    闭包 闭包是可以在你的代码中被传递和引用的功能性独立代码块。Swift 中的闭包和 C 以及 Objective...

  • Groovy 闭包

    本文介绍了Groovy闭包的有关内容。闭包可以说是Groovy中最重要的功能了。如果没有闭包,那么Groovy除了...

网友评论

      本文标题:闭包的一点功能

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