JavaScript是一种脚本语言,已广泛用于Web应用开发。本书就是一本引导读者深入学习JavaScript,并能成为JavaScript专家的书。
全书共10章,分别介绍了对象和原型、函数、闭包、术语、异步编程、JavaScript的IRL、编程风格、工作流程、代码质量、提高可测试性等内容。通过一系列内容和示例的讲解,本书进一步剖析了JavaScript的内部机制,为读者呈现更加全面的JavaScript。
本书适合有一定经验的JavaScript开发人员阅读,能够帮助读者更好地认识和运用JavaScript语言。
第1章对象和原型1
1.1鸟瞰JavaScript441
脚本设计2
1.2对象概述3
1.2.1对象化3
1.2.2原型编程20
1.3小结29
第2章函数30
2.1JavaScript中的代码块30
2.2小结44
第3章了解闭包45
3.1作用域的真相45
3.1.1理解this关键字46
3.1.2块级作用域48
3.2第一个闭包程序49
3.3为什么要用闭包50
对象工厂50
3.4小结53
第4章术语和俚语54
4.1Jargon.prototype=newSlang()54
什么是编程术语?55
4.2强转55
4.2.1转为String56
4.2.2转为数字56
4.2.3强转的陷阱57
4.3逻辑运算符61
4.3.1逻辑与(&&)61
4.3.2逻辑或(||)62
4.3.3逻辑非(!)62
4.4位变换65
4.4.1按位与(&)65
4.4.2按位或(|)67
4.4.3按位异或(;)68
4.4.4按位非(~~)69
4.4.5位移操作(<<,>>,>>>)69
4.5不易读代码71
4.5.1暗中的eval71
4.5.2各种进制71
4.5.3使用Unicode编码的变量72
4.5.4真正的WAT在这里72
4.6小结73
4.7补充参考资料74
第5章异步生活75
5.1理解JavaScript中的并发75
并发75
5.2理解JavaScript的事件循环77
5.2.1运行至完成77
5.2.2事件触发的设计77
5.2.3事件循环的内部77
5.3回调79
5.3.1感知性能80
5.3.2连续传递风格81
5.3.3回调地狱82
5.4Promise:从未来返回83
使用Promise84
5.5生成器和协程85
5.5.1生成器86
5.5.2协程的约定88
5.5.3可持续生成器89
5.6WebWorkers91
5.6.1并发91
5.6.2知道什么时候做一个工头91
5.6.3雇用worker92
5.7小结100
其他资源100
第6章JavaScript的IRL102
6.1硬件崇拜者日记102
6.1.1消防软管102
6.1.2每个人都可以玩的硬件103
6.1.3了解物理硬件103
6.2物理计算104
物联网105
6.3为什么要使用JavaScript105
6.3.1搭建桥梁106
6.3.2响应式编程范式106
6.4NodeBots:快速,廉价和伺服控制107
6.4.1REPL108
6.4.2为何要多此一举108
6.4.3前提条件109
6.4.4ArduinoIDE110
6.4.5Node串行端口112
6.4.6Firmata115
6.4.7Johnny—Five118
6.5Fauxbots123
6.6其他资源123
第7章风格124
7.1什么是风格124
7.2什么是编程风格125
7.2.1一致性125
7.2.2表达能力125
7.2.3简洁125
7.2.4约束性126
7.3JavaScript风格指南126
7.3.1视觉清晰度规则126
7.3.2计算效率规则134
7.4施行代码风格139
7.4.1Beautifiers139
7.4.2通过IDE执行140
7.5小结142
第8章工作流程144
8.1不要铲雪144
8.2什么是工作流程144
8.3合理的JavaScript开发流程145
8.4工具的选择145
8.4.1订购工具146
8.4.2依赖关系管理148
8.4.3保护升级路径149
8.5引导程序150
8.6开发153
CoffeeScript示例154
8.7测试157
8.7.1如何测试157
8.7.2Karma157
8.7.3PhantomJS159
8.7.4测试什么160
8.8构建163
8.8.1编译163
8.8.2分析163
8.8.3拼接163
8.8.4优化163
8.8.5测试164
8.8.6通知164
8.9支持164
8.9.1JavaScript中的错误报告165
8.9.2源码映射165
8.10小结165
第9章代码质量167
9.1定义代码质量167
9.1.1主观质量168
9.1.2客观质量168
9.2如何度量质量168
9.3为什么要度量代码质量169
9.4度量JavaScript代码质量170
静态代码分析170
9.5小结188
第10章提高可测试性189
10.1为什么测试无法测试189
10.1.1测试谬论190
10.1.2确认偏见193
10.2找到基线195
10.2.1语句覆盖196
10.2.2函数覆盖197
10.2.3分支覆盖197
10.2.4Istanbul198
10.2.5覆盖率偏见199
10.3偏见消除测试200
10.3.1模糊测试200
10.3.2JSCheck202
10.3.3自动测试206
10.4小结207
《洛阳史话》内容简介:洛阳从夏至宋三千年间,作为千年帝都,曾经演绎出一幕幕辉煌壮丽的历史画卷。北宋伊始,随着政治中心东移,
《创新实践与唯物史观形态研究》内容简介:本书通过对创新实践范畴的剖析,从马克思立足于实践观实现了对传统哲学的革命这一事实出
人脸表情识别算法及应用 本书特色 让机器看懂你的眼神为读者提供一本反映当前表情识别系统发展水平的专业参考书籍。人脸表情识别算法及应用 内容简介 本书主要研究了表...
《DevOps:软件架构师行动指南》内容简介:本书从软件架构师视角讲解了引入DevOps实践所需要拥有的技术能力,涵盖运维、部署流水线
《3ds Max&VRay室内材质表现白金手册》内容简介:3ds Max&VRay室内材质表现白金手册是“白金手册”系列教材中的一本,全书共14章。
VinylWillKill一次过收入了当今玩具界大部分最著名的玩具创作人的超级巨集,名单上有超过40个响当当的名字。详尽的访谈以及平面设
《链接:社交时代的品牌法则》内容简介:社交时代,个体崛起,个体成为经济的基本单元,链接个体成社群是商业的核心逻辑。本书作者
《会话式AI:自然语言处理与人机交互》内容简介:本书从逻辑上看分为三大部分。第一部分(第1~2章)介绍语言理解的基础概念与环境
《Oracle Exadata技术详解》内容简介:本书假定读者对关系型数据库,尤其是Oracle数据库有一定程度的了解,否则有可能对书中的某些
《人人都是产品经理(创新版)》内容简介:每一个岗位都是公司为了解决阶段性业务问题而设置的解决方案。随着行业的发展和大环境的
《这样读透一本书:给孩子的文学精读课》内容简介:上课是人生的展开,阅读是重新发现并真正拥有自己。本书是语文界新生代老师郭初
《一本书学会做数据分析:成功商务人士案头必备》结合具体的商务实例对Excel软件和数据分析进行了详细介绍,在分析实例的同时,还
五笔字型即时查(第2版) 内容简介 本字典以*新版《现代汉语词典》为准,列出了200多个汉字常用的86版五笔字型输入法的字根及编码;同时列出了98版五笔字型编码...
《宋代家礼》内容简介:《宋代家礼》一书将宋代家礼作为一种集体写作规范的历史场景来观察,探讨了这一时期书写者在家礼文本中的自
《因为懂得 所以慈悲》内容简介:她是中国文学史上的传奇,她是民国世界的临水照花人。她终其一生,横空出世的来,旁若无人的活,听
《崛起的超级智能》内容简介:21世纪以来人工智能、云计算、大数据工业4.0、云机器人、区块链、城市大脑等等新技术不断冲击着人类的
《进阶理解版式设计(附盘)》装帧精美,附赠1CD和可撕式字体卡。内容可操作性强,理论扎实,案例新颖。后勒口可以撕下来,增加了读
《电子商务英语教程》内容简介:本书选材广泛,覆盖了电子商务的类型、电子商务解决方案、B2B、B2C、在线销售、电子商务网站建设与
ThisthirdvolumeofKinfolkexploreshowweallmightbenefitfromincorporatingmoreoftheth...
深入理解LINUX内核(第三版) 内容简介 为了透彻理解Linux的工作机理,以及为何它在各种系统上能顺畅运行,你需要深入到内核的心脏。cPu与外部世界的所有交...