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
从Photoshop2.5开始,PhotoshopWow!book在全世界范围内的设计师、绘图师和摄影师之间广为传颂。本书是最新版本的PhotoshopWoW!...
《删除》内容简介:《删除》讲述了遗忘的美德,为读者展现了大数据时代的取舍之道。《删除》从大数据时代信息取舍的目的和方法分别
因特网奥秘:第6版 本书特色 本书以插图引人入胜,语言准确达意地揭示了因特网——这一改变了整个世界的神奇技术背后隐藏的奥秘。作者是Preston Gralla美...
《人生散叶》内容简介:著名红学家冯其庸先生的散文自选集,全书分“往事如梦”“西域纪行”“屐痕处处”“剪烛情深”几个部分,以
《二战尖端武器鉴赏指南(珍藏版)》内容简介:本书筛选了大量自一战结束至二战结束的划时代高尖端武器,以及当时各国主力、或者具
《Scala编程(第5版)》内容简介:本书由直接参与Scala开发的一线人员编写,深入介绍Scala这门结合面向对象和函数式的编程语言的核
计算机基础及Photoshop应用-全国计算机等级考试一级教程-(2017年版) 本书特色 《全国计算机等级考试一级教程——计算机基础及...
《新媒体艺术》由林迅所著,从理论阐述和详尽的案例分析两方面对“新媒体艺术”进行了深入研究与介绍,在对“新媒体艺术”立论的
《叶秀山全集·第九卷》内容简介:本选题分类结集叶秀山先生全部已经出版的专著,在学术期刊上发表的所有论文,以及部分笔记、札记
数据库系统简明教程 本书特色 《数据库系统简明教程》是由王珊所编著,高等教育出版社出版发行的。数据库系统简明教程 内容简介 本书系统地阐述了数据库系统的基础理论...
《Spring源码深度解析》从核心实现和企业应用两个方面,由浅入深、由易到难地对Spring源码展开了系统的讲解,包括Spring的设计理
《大话数据结构》内容简介:本书为超级畅销书《大话设计模式》作者程杰潜心三年推出的扛鼎之作!以一个计算机教师教学为场景,讲解
《RESTful Web Services Cookbook 中文版》内容简介:本书是《RESTful Web Services Cookbook》的中文翻译版...
《财神的名单》内容简介:跟你讲的是18个商业大人物成功背后的故事。阅读着他们的精彩,既丰富了谈资,也可以思考一下自己的人生。
《亚洲高等教育展望2018(英文)》内容简介:亚洲大学联盟(Asian Universities Alliance)是基于亚洲高等教育发展趋势,由清华大学
AutoCAD 建筑与室内设计实例精讲与上机实训教材 本书特色 本书由国内一线autocad 2014教育与培训专家编著,内容完全遵循autocad 2014教...
《明代复古的众声与别调》内容简介:本书意在改变现明诗研究以作家作品为主体、按时代展开的叙述方式和研究思路,通过对明诗演进历
《演说思维:阿里演说内训课》内容简介:本书首开先河,凝练IP思维、有我思维、定位思维、链接思维等12大演说思维,融汇心理学、神
《小提琴指位揭秘(英文版)》内容简介:小提琴指位揭秘(英文版)主要讲解小提琴4个基本指位、7种调性指位、7个把位、24个大小调、
《大规模数据分析和建模:基于Spark与R》内容简介:这本书的目的是帮助所有人通过R使用Apache Spark。第1章~第5章,简单地介绍了如