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
《自然辩证法新编(第2版)》是一本学术性著作,在多年探索的基础上写成。内容改革体现在两个方面:一是加深理论深度,对一些重要的
《差错控制编码》围绕信道编码理论、技术及其应用,对各种编码方法的工程应用背景及发展前景作了详尽系统的介绍。全书共分9章,主
ExcelVBA(2003/2007)高效办公实用宝典 本书特色 结合大量的实例,深入浅出地逐步介绍excel 2003/2007 vba的基础知识和中高级知识...
《价值投资之茅台大博弈》内容简介:2010~2018年,知名投资人董宝珍重仓持有贵州茅台,经历了跌宕起伏的投资历程,其间他写作了数百
MATLAB图像处理实例详解 本书特色 本书全面、系统地介绍了matlab在数字图像处理中的各种技术及应用。本书对图像处理的基础概念做了必要交代,重点给出了ma...
主要撰稿人克里斯・杰弗莉(ChrisJefferys)是《服装缝制图解大全》一书的主要撰稿人和组织者。多年从事缝纫和刺绣教学,后成为《
《全国会计从业资格考试标准化教材(大纲解析版):财经法规与会计职业道德》内容简介:全国会计从业资格考试标准化教材(大纲解析
《背影(2019)》内容简介:时光匆匆,背影长存 2019未删节新版 一九二八年开明书店初版散文集《背影》完整呈现 《背影》《荷塘月色
《幸福,从看见自己开始》内容简介:书中探讨了现代人普遍存在的安全感、自我价值感、亲密关系、金钱观、孤独与自由等社会话题。两
《JSP应用开发详解》(第3版)结合JSP和Servlet的最新规范,从基本的语法和规范入手,以经验为后盾,以实用为目标,以实例为导向,
《内向者优势》内容简介:本书分析了内向者的优势和潜藏的影响力,阐述了内向者在社交、职场、商业等方面的独特优势,让内向者深入
《指尖上的会计》内容简介:学会计并不难,难的是“学得开心,用得顺手”。那么,面对那些晦涩难懂的会计术语以及财税处理工作,如
《蔡澜说美食:学会浅尝二字》内容简介:蔡澜先生说: 吃不饱的菜,最妙。豆那么细小,一颗颗吃,爱惜每一粒的滋味,也爱惜了人生中
本书主要介绍了时装设计师应该掌握的服装工艺知识技能,内容包括成本意识、材料利用、样衣裁剪、粘合衬工艺原理、缝制工艺原理、
《空间的语言》介绍了:这部独特的理论著作为我们提供了一个完事的建筑空间理念论述。布莱恩·劳森用最精炼通俗的语言对这个理念
Namedoneofthegreatestmindsofthe20thcenturybyTime,TimBerners-Leeisresponsibleforo...
《从零开始做抖音短视频》内容简介:本书作者运营的自媒体账号“台球帝”在抖音和快手两个平台共拥有300多万粉丝量,在亲自运营的基
Theauthorintroduceselectricalprinciplesandtechnologythroughexamplesratherthanthe...
《少年读聊斋志异·笔墨里的精灵》内容简介:《聊斋志异》是我国古典文学名著,多篇文章入选中小学语文读本或教材。本书由知名《聊
《温公家范(译注)》内容简介:司马光用“家范”进行命名,其本意是要让这本书成为教家治家的典范、楷模。从内容构成来说,一方面