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
《中国古典舞术语词典》内容简介:《中国古典舞术语词典》为“舞蹈普及教育丛书”系列之一,其内容有71个歌舞组合,涵盖了民间舞、
Ajax,thepopulartermforAsynchronousJavaScriptandXML,isoneofthemostimportantcombin...
计算机常用算法与程序设计案例教程(高等学校计算机专业教材精选·算法与程序设计) 本书特色 首创“案例”形式实现算法与程序设计教学。通过典型案例来引导算法设计的逐...
这是一本关于搜索引擎的教科书,它从研究实践者的角度介绍了搜索引擎的相关技术及其产业,并试图协助读者成为搜索引擎领域的局内
《你不可不知的文学典故》内容简介:华夏民族五千年悠久历史,先人们为我们留下了宝贵的文学遗产。从上古时代的神话到先秦诸子散文
《C和C++安全编码》是关于C和C++安全编码的著作。《C和C++安全编码》介绍了C和C++程序中已经导致危险的、破坏性的基本编程错误,
《现代化的政治》内容简介:该书对发展中国家的政治现代化道路进行了深入的分析,特别是在实现政治现代化的过程中影响政治变革的一
随着虚拟环境、增强现实、混合现实以及普适计算等“脱离桌面”技术的出现,三维用户界面(3DUI)的设计和开发已经成为一个重要的
《张一南北大国文课》内容简介:本书源自作者在北京大学教授的“大学国文”通识课讲义,解读了先秦、六朝、唐宋三个时期具有代表性
《优势成长》内容简介:这是一本帮你锁定并提升个人核心竞争力的实用类的图书。活着的每一天,都是为了超越昨天的自己。给努力多一
《春水集》内容简介:《春水集》是作者从事博物馆工作以来的学术散文集,主要内容为清代、民国以来学林掌故以及著名学人的生平、往
本书筛选出中国电影名片近百部,分设背景搜索、故事梗概、精彩场面、欣赏指导、专家建议五个栏目,多角度地介绍、分析、欣赏、评
《插画教室》内容简介:本书是专业插画设计基础教程。插画创作离不开植物、动物、人物、静物这些元素,本书便从这些元素入手,以几
《民法总则:具体与抽象》内容简介:既有民法总则本体的介绍和阐释,也有民法与宪法、商法、知识产权法、行政法、民事诉讼法之间关
苹果热门产品“i”系列的创意鼻祖乔布斯御用17年的广告狂人一旦做到了简洁,你将无所不能。——史蒂夫·乔布斯对史蒂夫·乔布斯来
《Python学习手册(第3版)》讲述了:Python可移植、功能强大、易于使用,是编写独立应用程序和脚本应用程序的理想选择。无论你是刚
《保护眼睛大作战》内容简介:陶勇医生爱眼护眼科普漫画!亲子共读!眼科普+近视矫正+常见病预防,30节爱眼护眼科普知识课,200多个
《程序员必读的职业规划书》内容简介:程序员是一种逻辑动物,只有当他们理解求职到底是一种什么行为以后,才能做出有意义的行动。
《MATLAB小波分析超级学习手册》内容简介:本书对小波分析在MATLAB中的应用进行了详细的介绍,全书以小波为主题展开叙述,不仅对小
《大清侃史官》内容简介:这是一本有灵魂、有内容、有猛料的清朝历史,那些陷落在历史深处的人物在作者笔下的这一刻,不再是一个个