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
《深入分析GCC》内容简介:本书将围绕GCC编译过程,详细介绍从源代码到AST、从AST到GIMPLE、从GIMPLE到RTL,以及从RTL到最终的目标
当来自最伟大公司的年轻人遭遇最好的创业时代,他们的内心会迸发出怎样的火花?谷歌是公认世界上最伟大的公司之一,是天才最密集
《2021年法律硕士(非法学)联考考试大纲配套练习》内容简介:全书各章节的基本结构为:大纲要点、考试重点、配套练习和配套练习答
《现代通信工程设计》较为全面地阐述了现代通信网络及其系统有关工程设计方面的理论与方法,分别介绍了工程设计内容主要涵盖的网
Thepurposeofthisbookistohelpyouunderstandhowtoprogramshared-memoryparallelmachin...
《浮世绘百景》内容简介:◎云集16位浮世绘巨匠,包括葛饰北斋、歌川广重、河锅晓斋、小林清亲等,从江户时代跨越到明治时代,一窥
政府地理信息系统 本书特色 本书内容丰富,学术性和技术性强。主要读者对象是:政府机关从事政务信息化和电子政务建设的领导同志和技术人员,政府业务部门从事GIS研究...
AuniqueresourcetohelpsoftwaredeveloperscreateadesirableuserexperienceToday,top-f...
《轨道交通软件功能安全标准解析与实践》内容简介:本书面向航空航天、轨道交通、机器人、汽车电子、智能家电等与安全相关领域,围
《温故(二十)》内容简介:《温故》是一种陆续出版的历史文化读物。以今天的视角来追怀与审视过去,并为当下的生存与未来的发展提
全国计算机等级考试二级教程.C语言程序设计:2010年版 内容简介 本书根据教育部考试中心制定的《全国计算机等级考试二级c语言程序设计考试大纲(2007年版)》...
Haveyoueverneededtocreateaniconforsomethingandnotknownwheretostart?Howdoyougoabo...
《虚拟人》内容简介:人类躯体死亡,思维是否有可能继续存在,从而实现思维不朽?思维克隆人、网络人等虚拟人将如何颠覆人类对“我
《诗的时光书:当你老了》内容简介:以被艾略特誉为“当代最伟大的诗人”的叶芝开篇,这本书为读者打开了西方诗歌经典之门。作者精
《唐诗三百首》内容简介:唐代是我国古代文学发展的重要阶段,尤其是古代诗歌发展的全盛时期,同时也是一个诗人辈出的时代,因此后
本书是一本架设与维护TCP/IP网络的完整指南,无论你是在职的系统管理员,还是需要访问Internet的家用系统用户,都可从本书获得帮
ThislittlebookshowsJavaScriptdevelopershowtobuildsuperbwebapplicationswithCoffee...
《Node.js实战(双色)》通过8个实例讲解了Node.js在实战开发中的应用,涉及Node.js常用框架、非关系型数据库、关系型数据库、运
本书详细介绍ExtJS框架体系结构,以及利用HTML/CSS/JavaScript进行前端设计的方法和技巧。作者为Ext中文站站长领衔的三个国内Ext
《征服法国外籍军团的华人特种兵》内容简介:2006—2016年,吴鑫磊前往法国留学并在法国外籍军团服役。十年间,他从语言不通的新兵