源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

深入理解JavaScript系列(16) 闭包(Closures)

  • 时间:2020-04-08 09:09 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:深入理解JavaScript系列(16) 闭包(Closures)
介绍 本章我们将介绍在JavaScript里大家经常来讨论的话题 —— 闭包(closure)。闭包其实大家都已经谈烂了。尽管如此,这里还是要试着从理论角度来讨论下闭包,看看ECMAScript中的闭包内部究竟是如何工作的。 正如在前面的文章中提到的,这些文章都是系列文章,相互之间都是有关联的。因此,为了更好的理解本文要介绍的内容,建议先去阅读第14章作用域链和第12章变量对象。 英文原文:http://dmitrysoshnikov.com/ecmascript/chapter-6-closures/ 概论 在直接讨论ECMAScript闭包之前,还是有必要来看一下函数式编程中一些基本定义。 众所周知,在函数式语言中(ECMAScript也支持这种风格),函数即是数据。就比方说,函数可以赋值给变量,可以当参数传递给其他函数,还可以从函数里返回等等。这类函数有特殊的名字和结构。 定义 A functional argument (“Funarg”) — is an argument which value is a function. 函数式参数(“Funarg”) —— 是指值为函数的参数。 例子:
[url=http://jibbering.com/faq/notes/closures/]Javascript Closures (by Richard Cornford)[/url] [*][url=http://en.wikipedia.org/wiki/Funarg_problem]Funarg problem[/url] [/*][*][url=http://en.wikipedia.org/wiki/Closure_%28computer_science%29]Closures[/url] [/*][/list]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部