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
《中医的常识》内容简介:★学习中医的收获:在目前的生活状态下做贵人 ★普通人如何学习中医——有自知之明、自觉之感,方有慧心之
EDIUS 6.5快刀手高效剪辑技法 本书特色 edius是一款用于广播电视和影视后期制作的视频剪辑软件,它支持当前所有标清和高清格式的实时编辑,被誉为pc平台...
新电脑课堂OFFICE2007办公应用基础与提高附光盘 目录 第1章 Office 2007的组成与安装第2章 Word的基本操作第3章 Word排版技术第4章...
《2020—2021年中国制造业创新中心建设蓝皮书(精装版)》内容简介:本书系统地介绍了我国制造业创新中心的建设背景、建设要求和17
《人民币国际化报告2020:上海如何建设全球金融中心》内容简介:《人民币国际化报告2020》的主题为“上海如何建设全球金融中心”,
《黑白画理》无疑是一部囊括绘画规律和原则的学术力作。它始于从远古迈入,终于向未来走去。深刻、透彻,深入浅出的精练文字,进
《二十四节气七十二候》内容简介:二十四节气七十二候不仅是一套关于时令、气候、物候变化规律的知识体系,更是属于中国人的时间哲
《大势研判》内容简介:当前中国经济最大的宏观背景是增速换挡、结构调整和改革转型。本书试图采用“转型宏观”分析框架,打通长期
●商业与技术领域最重要的五部作品之一、超级畅销书《释放杀手级应用》作者拉里•唐斯力作。摩尔定律、梅特卡夫定律和颠覆定律是当
《Web网页设计创意课》将呈现创建精彩绝伦的Web应用所需要的一切。这本《Web网页设计创意课》里的所有素材都来源于创作者的网站,
《金融商业数据分析》内容简介:这是一本金融商业数据分析的实战工具书。作者都是在金融行业有10~20年数据分析经验的资深专家,他
《谁说菜鸟不会数据分析(入门篇)(全彩)》是一本有趣的数据分析书!《谁说菜鸟不会数据分析(入门篇)(全彩)》基于通用的Ex
《礼仪金说:职场礼仪》内容简介:《礼仪金说:职场礼仪》由知名礼仪专家金正昆教授根据多年社交经验与研究精心撰写,告诉职场人士
機器人端咖啡,電腦當醫生,數據分析愈來愈便利精準,我們以為科技將創造新一波繁榮,卻低估了它推動世界變遷的速度!機器開始全
深度学习与人体姿态动作识别/关晨至 内容简介 本书主要阐述了深度学习下人体姿态动作识别的相关技术和方法。全书共六章,章介绍了深度学习的发展历史;第二章介绍了各种...
1.本书是唯一一本介绍JavaScript面向对象编程的图书。2.本书作者是知名的Web开发人员和作者。受到国内众多前端开发人员,如淘宝U
《软件困局》内容简介:软件工程其实并没有多少“工程”的成分,这已经是公开的秘密了。自计算机诞生以来,特别是20世纪60年代大批
《Node与Express开发(第2版)》内容简介:本书系统地讲解了使用Express开发动态Web应用的流程和步骤。作者不仅讲授了开发公共站点
计算机软件技术基础(第3版) 内容简介 本书是计算机基础教材,全书较系统、通俗地介绍了计算机软件技术的基础知识和常用的系统软件。内容包括数据结构、操作系统、数据...
《五凉史》内容简介:◆“十六国史新编”之一,著名历史学家赵向群代表作全新修订。◆汇集传世史料与出土文献,还原魏晋南北朝大分