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
《食品雕刻项目化教程》内容简介:《食品雕刻项目化教程》基于“项目引导、任务驱动”的项目化教学方式编写,体现“学以致用”、“
《学前儿童创意美术活动设计》内容简介:本书以3~6岁幼儿为对象,以美术创作基本元素为纲、案例活动设计为纬,系统、科学地引导幼儿
《机器学习实战:模型构建与应用》内容简介:本书主要包括两部分。第1部分(第1章-第11章)讲解了如何使用TensorFlow来创建不同应用
《PHP 7从入门到精通(视频教学版)》内容简介:本书循序渐进地介绍了PHP 7开发动态网站的主要知识和技能,提供了大量的PHP应用实例
《Quarkus实战》内容简介:Quarkus建立在我们已熟知的基础技术之上。它使用JPA、JAX-RS、Eclipse Vert.x、Eclipse Micr...
《经典剪发专业技术图解:蘑菇头(视频教学版)》内容简介:本书是专门针对蘑菇头剪发技术的详细图解教程,书中详细图解示范了12款
《嵌入式系统软硬件协同设计实战指南》内容简介:本书由浅入深,由基础知识到实战案例向读者系统阐述了如何利用Zynq平台进行嵌入式
《设计元素》是一本供学生和设计者学习的参考书。作为一本设计的启蒙读物,它包含了制作各种简单形体及创造复杂方法去解决困难的
Learnhowtobuildcompleteclient-sideapplicationswithClojureScript,theClojurelangua...
为一种开源数据库,MySQL已经成为最流行的服务器软件包之一。开发人员在其数据库引擎中提供了丰富的特性(只需很少的内存和CPU支
《现代通信工程设计》较为全面地阐述了现代通信网络及其系统有关工程设计方面的理论与方法,分别介绍了工程设计内容主要涵盖的网
《一本书读懂经济指标》内容简介:《一本书读懂经济指标》全面介绍了经济领域中的各项指标,从宏观的GDP、GNP、CPI等到微观的经理人
《进阶理解版式设计(附盘)》装帧精美,附赠1CD和可撕式字体卡。内容可操作性强,理论扎实,案例新颖。后勒口可以撕下来,增加了读
《JavaScript异步编程:设计快速响应的网络应用》讲述基本的异步处理技巧,包括PubSub、事件模式、Promises等,通过这些技巧,可
《自由人》内容简介:自由无价。而现在,互联网给我们带来了真正的自由。淘宝给了谁自由?由大学生、家庭主妇、城市无业者、农民们
《直播合规管理手册》内容简介:网络直播行业的健康发展不仅需要国家相关部门的严格监管,同时也需要相关从业者树立合规意识,约束
《服装设计创意构思与效果图绘制》内容简介:每一位服装设计师都希望自己的设计作品被认可,分享完成每一件衣服带来的感动。服装设
编译原理-编译程序构造实践教程 本书特色 《编译原理:编译程序构造与实践教程》:牢牢掌握编译程序构造的基本原理深入理解C程序设计语言的特性实践中领悟、实践中提升...
精嵌入式Linux编程 本书特色 《精通嵌入式Linux编程:构建自己的GUI环境》是由北京航空航天大学出版社出版的。精嵌入式Linux编程 内容简介 本书针对...
本书是Objective-C领域的经典著作,对Objective-C进行了系统而全面的阐述,权威性毋庸置疑。全书共分为四大部分:第一部分全面讲