厚积薄发---从此再也不用担心闭包问题
来源:互联网 发布:安卓版本 知乎 编辑:程序博客网 时间:2024/05/22 13:07
说在前面
至此,关于JavaScript闭包问题我已经写了两个系列的文章。可能你会很惊讶,为了一个知识点,写了两个系列文章,有必要吗? 我会回答有必要,而且很有必要,因为它不仅仅是一个知识点。
两个系列文章+一个总结篇
第一个系列的文章是参考了网上流行的博客,比如阮文峰老师的闭包系列文章,王福朋的闭包系列文章,还有搜索排名在百度前三页的各个博客文章。但我得说句实话,这个系列的文章大多数的观点是正确的,但不得不说,对有些关键点的解释是不对的。但是,这个系列的文章浅显易懂有大量的实例支撑,且对较主要的知识点的解释是没问题的。读完这个系列你会对闭包问题有一套自己的理解体系,但是这个理解体系可能用到实践中会有些复杂,不能得心应手的应用它解决问题。
第二个系列的文章是翻译了国外大神Dmitry Soshnikov的系列文章,但可惜是全英文的,阅读起来较困难,即使有中文版,但有些中文版的翻译需要翻墙来找,我让托我的朋友翻墙找到了相关的中文翻译,并把它写成博客发出来和大家分享。但这个系列的文章虽然语言并不苦涩,但是从底层解释的,而且对有些东西的扩展太大,容易使人迷失方向。但是这个系列的文章里的知识可以放心的去相信,没有问题。
第一个系列更多的是从感性的角度去让大家知道闭包是个什么东西,为什么是这样;第二个系列更多是从理性的解读去解释闭包是如何实现的,为什么会有闭包,js引擎是怎么处理闭包的。
所以我建议可以先读第一个系列,再读第二个系列。先读第一个系列会让你初步建立一下对闭包的认识,再读第二个系列会让你纠正在第一个系列中建立的某些错误的认知,并且能够完全理解闭包是什么。
读完两个系列,如果对闭包仍旧有些问题,请看总结篇,在那里,你会彻底明白闭包原来很简单!
两个系列+一个总结篇 文章链接
下面是这两个系列文章的链接:
第一个系列文章:《javascript执行上下文、作用域与闭包》
javascript执行上下文、作用域与闭包(第一篇)—执行上下文
javascript执行上下文、作用域与闭包(第二篇)—作用域
javascript执行上下文、作用域与闭包(第三篇)—自由变量与作用域链
javascript执行上下文、作用域与闭包(第四篇)—作用域与执行上下文
javascript执行上下文、作用域与闭包(第五篇)—一个例子的理解
javascript执行上下文、作用域与闭包(第六篇)—闭包
javascript执行上下文、作用域与闭包(第七篇)—关于闭包典型例子的理解
第二个系列文章:《[JavaScript]ECMA-262-3 深入解析》
[JavaScript]ECMA-262-3 深入解析.第一章.执行上下文
[JavaScript]ECMA-262-3 深入解析.第二章.变量对象
[JavaScript]ECMA-262-3 深入解析.第三章.作用域链
[JavaScript]ECMA-262-3 深入解析.第四章.函数
[JavaScript]ECMA-262-3 深入解析.第五章.闭包
一个总结篇:
总结篇—闭包问题从此再不难
总结
可能你看到要读两个系列文章这么多,哪有那么多的时间和耐心,但我要告诉你,如果你想要了解这个闭包这个知识,就要付出这么多的时间和耐心,做什么事都是这样。
如果你想要成为你想成为的人,你就得努力,而且还得坚持,如果你坚持不下去了,你就放弃,如果你放弃了,你就不要抱怨。
这段话和大家共勉。
- 厚积薄发---从此再也不用担心闭包问题
- android 傻瓜式 MultiDex 插件,从此再也不用担心方法数问题!
- 从此妈妈再也不用担心我的View冲突了
- Matlab起名,从此再也不用担心取名啦
- Swift详解之四-------妈妈再也不用担心我的闭包了
- androidStudio升级3.0的问题,以后再也不用担心啦
- 三十九、简单几步做到外链自动生成,从此妈妈再也不用担心我的SEO
- 再也不用担心系统出问题了
- 再也不用担心滑动页面了
- Flex,再也不用担心页面布局了
- wdcp 或者 主机宝 或 阿里云一键安装包 再也不用担心 服务器环境搭建了
- Android 查看依赖的方法,妈妈再也不用担心jar包冲突找不到了
- 有了Qt,从此再也不用MFC~
- android 百分比布局(percentLayout),妈妈再也不用担心适配问题了
- 仅用了一天开发了这样的app,再也不用担心排队的问题了
- 自动缩放布局,以后再也不用担心适配问题了
- 自动缩放布局,以后再也不用担心适配问题了
- 再也不用担心爆炸了,三星或远程锁定问题Note 7
- centos6.5 ping: unknown host www.baidu.com
- opencv小记:IplImage与Mat之间的转换
- cmake 入门编程之打印信息或者变量
- JavaScript数组方法总结
- MySQL上篇
- 厚积薄发---从此再也不用担心闭包问题
- 23种设计模式
- 最优化方法
- puppet 简单的安装及配置
- Struts2(六)---OGNL
- 策略模式
- Digit-Sum HDU
- 创建一个简单的ModelValidator
- Qt Project ERROR: Cannot run compiler 'cl'