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
我要学office2007高效办公三合一 内容简介 本书分为4篇,共12章。前三篇详细介绍了Word、Excel和PowerPoint的基础操作,第四篇以综合实...
《Istio实战指南》内容简介:本书是Istio服务网格技术的入门图书。全书分为9章,深入浅出地介绍了Istio的相关知识,结合大量的示例
《从量子到宇宙》内容简介:本书以各种不可思议的量子现象为主线,以物理学家们所做的各种令人惊奇的实验为脉络,循序渐进地介绍了
《金融的逻辑(套装共2册)》内容简介:《金融的逻辑》(上、下)是陈志武教授关于金融的发展历史、演变、影响和作用的一部作品,由
全国计算机等级考试一级教程-计算机基础及MS Office应用上机指导-(2016年版) 本书特色本书根据教育部考试中心*新颁布的考试大纲编写,是全国计算机等级...
图形用户界面是当前人机交互的主要模式。往往会有这样错误的看法,就是认为软件界面是程序员等这样一些计算机专家的事,当前人们
计算机组成原理 本书特色 王诚、董长洪、宋佳兴编著的《计算机组成原理》充分考虑全国硕士研究生入学统一考试大纲的有关规定,核心内容围绕如何理解和构建一台简单的计算...
《况且况且况(李长声自选集)》内容简介:本书系旅日华人作家李长声自选集中的文化与历史篇。“知日”渐成潮流,然而大半个世纪以
《網頁設計索引》年刊自2000年誕生起現已發展成同行業最重要的出版物之一,每年都會對網頁設計的最新趨勢給予準確概述。網站可簡
《专业伦理与职业素养:计算机、大数据与人工智能》内容简介:本书共12章,内容包括计算的社会背景,伦理与道德,计算机伦理规则,
《矛与盾:黑客攻防命令大曝光》内容简介:《矛与盾:黑客攻防命令大曝光》紧紧围绕黑客命令与实际应用展开,在剖析黑客入侵中用户
《唤醒孩子的内在成长》内容简介:本书是樊登读书育⼉系列第⼆册。要想在⼀个领域得⼼应⼿,底层认知⾮常重要。育⼉的底层认知便是
《物联网渗透测试》内容简介:本书介绍物联网渗透测试的原理和实用技术。主要内容包括IOT威胁建模、固件分析及漏洞利用、嵌入式web
《月背征途》内容简介:嫦娥五号凯旋!中国探月工程官方记录人类首次登陆月球背面全过程!致敬中国航天!官方近百张高清月背照片首
《时尚秀场:时装画手绘技法攻略》内容简介:绘制时装效果图是时装设计过程中的一个重要环节,掌握它是从事时装设计应具备的专业素
HarnessthepowerofJavaServerFacestocreateyourownserver-sideuserinterfacesfortheWe...
LukeWilliamsisaleadingspeaker,educator,andconsultantoninnovationstrategy.Hehaswo...
《桂海论痕》内容简介:本书主要研究广西当代作家、作品。作者用颇具才情的笔墨,为读者勾勒了一幅广西当代文坛地图,脉络清晰,文
大数据挖掘与分析在金融领域中的应用研究 内容简介 《大数据挖掘与分析在金融领域中的应用研究》阐述了大数据技术在金融领域的应用和发展现状,从大数据视角加以思考和探...
MATLAB R2016a完全自学一本通-畅销升级版-附赠近150页超值电子书 本书特色 本书面向MATLAB的初中级读者,在介绍MATLAB R2016a集成...