黑马程序员技术交流社区
标题:
关于block
[打印本页]
作者:
佩玉鸣
时间:
2015-3-24 14:55
标题:
关于block
block在其他编程语言中叫匿名函数或lambda。,block类似函数指针,封装一段操作代码,不但能像函数一样直接调用,还能像变量一样赋值给其他变量。
block最NB之处在于词法闭包,简单来说,你在一个方法,比如叫print:中定义了一个block,那么这个block中的代码和print:方法中的定义的其他局部变量一起形成了一个封闭的环境(闭包),block中可以直接访问print:方法的局部变量。但如果你定义一个新函数来实现block中的操作代码,然后在print:方法中调用它,那么在新函数中是无法直接访问print:方法中的局部变量的,你必须把局部变量当作参数传递给新函数。显然,这种情况下用block就方便多了
作者:
fantacyleo
时间:
2015-3-24 18:17
本帖最后由 fantacyleo 于 2015-3-24 18:24 编辑
看了这个帖子我都不知道说什么好了,这原封不动是我近1年前的一条回复:L
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2