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
AutoCAD 2016中文版建筑设计师——装潢施工设计篇 本书特色 本书以敏锐的视角、简练的语言,并结合室内装潢业的特点,运用大量的室内装潢施工设计实例,对A...
《自由的人》内容简介:本书是以梁实秋、林语堂为代表的众多亲历者,对中国近现代史上四位极具争议性的文人——徐志摩、郁达夫、闻
深入理解计算机系统-原书第3版 本书特色 和第2版相比,本版内容上*大的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下:&...
《使用GitOps实现Kubernetes的持续部署:模式、流程及工具》内容简介:本书提供了通过GitOps使用Kubernetes的实用教程,内容涵盖Gi
本书合并了O’Reilly出版的《HTML5Geolocation》与《HTML5:等轴实时游戏开发》两本书的内容。第一部分介绍了HTML5Geolocatio...
《常春藤英语(精编版·七级)》内容简介:本书根据《常春藤英语·七级(一~四)》四本书进行修订,从中选取难度相对较低的文本,并
信息系统项目管理师考试辅导-(针对下午考试) 内容简介 本书按照人力资源和社会保障部、工业和信息化部全国计算机技术与软件专业技术资格(不平)考试要求编写。作者依...
《维多利亚时期英国中产阶级婚姻家庭生活研究》内容简介:本书是系统研究维多利亚时期英国中产阶级婚姻家庭生活的专门著作,运用时
《古画的故事(中华文化故事)》内容简介:《古画的故事》以时间为序,精选从石器时期代到11世纪之前的58幅经典绘画作品,既有彩陶
《Python青少年趣味编程》内容简介:Python是现在非常流行的计算机编程语言,它功能强大,应用场景广泛,但其语言却简洁,非常适合
《精神科医生破案笔记2:青山医院之谜》内容简介:1、诡异之地,进入必疯!每一种疯狂试探的背后,都是破碎的灵魂、病态的躯体; 2
《一场美梦》内容简介:我在燃烧时从未想过醒来,我看着灰烬跳起舞,我看着意识变成流动的火光,我曾这样激烈而充满仪式感的存在过
《从秦朝说起,到清朝结束(三):安邦定国》内容简介:一本书读懂从乱世到治世的阴谋与阳谋! 大汉王朝建立,刘邦登基后演绎了何为
如果三十多年前艾斯林格没有遇见乔布斯,你我今天看到的iPhone和MacBook也许不是现在这个样子,当然,也许根本就没有这么酷的手机
KEYBENEFIT:Providesabroadsurveyofdesigning,implementing,managing,maintaining,tra...
《汽车标识符号全知道》内容简介:《汽车标识符号全知道》按品牌标识、车身上标识、驾驶操作标识的顺序,以图解的方式对汽车上常见
《一天25小时》内容简介:本书首次提出了以理财的观念来理时间,这一全新的时间管理视角,书中将时间管理分为6 个步骤,各部分以介
Buildadjangocontentmanagementsystem,blog,andsocialnetworkingsitewithJamesBennett...
The Adobe Illustrator CS2 Wow!Book 内容简介 本书由基础、提示、练习、技巧、画廊和参考资料等六个部分融合而成,每部分都是Ill...
本书作者是北宋政治家、科学家苏颂对前代天文学成果进行了全面总结,在此基础上主持研制了一座全新的天文观测和报时的仪器“水运