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
时尚艺术和商业从本质上来说是符号和系统的集合,也就是说,是一种语言。为了能有效地在行业内与顾客进行沟通,设计师必须掌握一
《信号与系统辅导与题解(与美国MIT麻省理工本科教材配套)》是奥本海姆教授主编的、电子工业出版社引进出版的《信号与系统》(第2
《ASP.NET(C#)实践教程》内容简介:本书详细介绍了使用ASP.NET进行Web应用程序开发应该掌握的各方面技术。全书共分为14章,包括A
AndyPratt具有12年以上建立得獎的互動媒體經驗。曾協助傳遞多家大型世界知名品牌的願景與策略,包括史密森博物館、芝麻街工作室、
《Hadoop技术内幕》内容简介:本书由腾讯数据平台的资深Hadoop专家、X-RIME的作者亲自执笔,对Common和HDFS的源代码进行了分析,旨
《运营思维》内容简介:什么是运营?运营工作具体包括哪些种类,需要运营人员掌握哪些技能?运营和产品、用户、增长、转化及数据是
《素茶书》内容简介:茶是中国人的生活之需,也是不可或缺的精神饮料。它平易亲和又清雅高远,与文人的性情十分贴合。"大家茶坊"丛
《Excel财务与会计从新手到高手》内容简介:本书详细介绍了财会工作中所需使用的Excel技术,以及将这些技术应用于实际案例的具体方
CATIA V5R20快速入门.进阶与精通-(含多媒体DVD光盘2张) 本书特色 本书是全面、系统学习和运用catia v5r20软件的快速入门、进阶与精通书籍...
《图形设计新元素》一书提出了一些平面设计研究领域迫切需要关注的新问题。埃伦勒普顿(EllenLupton)是《字体思维》(Thinkingwith
《宋代家礼》内容简介:《宋代家礼》一书将宋代家礼作为一种集体写作规范的历史场景来观察,探讨了这一时期书写者在家礼文本中的自
由鲍卫兵主编的《通信原理》由几所高校中长期从事教学实践的教师联合编写,内容全面、难度适中、分析由浅入深,论理清晰,逻辑性
《二十五史艺文经籍志考补萃编续刊(第十五卷)》内容简介:《二十五史艺文经籍志考补萃编续刊》,是《萃编》的后续配套产品,是一
社会媒体挖掘 本书特色 本书集成了近年来社会媒体、社会网络分析以及数据挖掘的前沿成果,为学生、从业者、研究人员和项目经理提供了一个方便的平台,以便理解社会媒体挖...
Withover100,000iPhoneapplicationsand125,000registerediPhonedevelopers,isitstillp...
《高清一战全史(上):战火初起》内容简介:本书是《高清一战全史》的上卷《战火初起》,时间包括从1914年7月战争爆发到1915年底。
计算机网络(第5版) 内容简介 本书自1989年首次出版以来,于1994年、1999年和2003年分别出了修订版。2006年8月本教材通过了教育部的评审,被纳入...
智能图像检索关键技术研究 本书特色 《智能图像检索关键技术研究》是毛金莲老师多年从事多媒体信息检索研究工作的系统性总结,包含了她对当前国际、国内在智能图像检索关...
《整理的艺术》内容简介:你知道吗?一机双屏是整理,网购是整理,换浏览器也是整理!紧张的工作、铺天盖地的信息、可怕的惰性容易
互動式設計:數位科技改變了現代生活所對應的一切,範疇廣及娛樂乃至工具配備。而對於數位科技商品的設計者而言,他們要創造的標