ios/swift: 请问闭包是什么, 到底是干什么用的?

  • 似水
    我正在学swift, 看到很多场合都在提闭包, 请问闭包到底是什么? 有什么用处? 谢谢
  • 曾经沧海
    隐隐约约有上数学课的味道
  • 似水
    ---------------
  • z
    zinwa.lin
    返回函数的函数,异步调用。 iOS fly ~
  • w
    wsyx87930
    楼主是用沉醉于学习来麻痹自己吗
  • f
    fqxufo
    来学js吧,闭包用的很多 iOS fly ~
  • l
    luxxxxxxx
    现在没必要学Swift了吧
  • 樱木花道
    回复7#luxxxxxxx
    IOS开发不学swift那学啥? iOS fly ~
  • l
    luxxxxxxx
    回复8#樱木花道

    uniapp,好入门,安卓苹果小程序全能做,总比只会iOS好找工作吧
  • e
    ekson
    一定去看的是中文教程,学编程几乎只看英文,没遇到过你说的这个词,英文是啥? iOS fly ~
  • f
    fqxufo
    回复10#ekson
    closure,就是比如你一个函数a内部返回出来一个函数b,函数b可以访问到函数a的变量,而且只要b没有被回收,a的内存空间也不会被回收 iOS fly ~
  • f
    forfun
    回复6#fqxufo
    还有人用?
  • f
    fqxufo
    回复12#forfun
    js里处处都是闭包啊,怎么会没有人用 iOS fly ~
  • f
    forfun
    回复13#fqxufo
    我写了好几年了,一次也没用过,为了避免变量污染?
  • f
    fqxufo
    回复14#forfun
    最简单的setTimeout就是闭包啊,大佬一定是功夫修炼得炉火纯青,这些小知识点已经了然于胸不太注意了iOS fly ~
  • f
    forfun
    回复15#fqxufo


    不,我野路子出的,会用但不知道是啥,我以为就是为了避免变量提升啥的造出来的呢,我现在写es6语法不用这些
  • s
    sharpmaster
    这又不是什么特殊语法,跟是不是es6没关系
  • f
    forfun
    回复17#sharpmaster


    不了解
  • 猪猪代购
    匿名函数
  • h
    hi-pad
    回复1#似水
    穷人版的对象小尾巴~
  • w
    wuketidai
    能够 capture 外部调用栈的函数块
  • e
    ekson
    回复11#fqxufo
    汗颜,原来是这个。 iOS fly ~
  • f
    flowerszhong
    【什么是闭包?为什么叫闭包? - 今日头条】https://m.toutiao.com/is/JtCpgTQ/
  • p
    ph_d
    就是像实例的函数,自带状态 iOS fly ~
  • v
    very20027501
    可以用函数对象去理解,带参数的函数对象就是闭包,实际上C++11的闭包函数就是用函数对象实现的。
    也可以把函数都理解成原型和实例,一个原型配合不同的参数可以得到多个实例,而一个函数原型配以他所在代码块里的变量而生成的那个实例就是闭包函数。
    不一定严谨,就是个理解方式。
  • 斩断意识流
    包含原集合的在某种运算下封闭的最小集合
  • m
    motodexter
    就是一个匿名的函数体 iPhone 12 PM