作者简介:
John Resig
jQuery之父,世界级Web开发大师。2007年加入Mozilla公司,现为可汗学院开发人员。
Russ Ferguson
资深开发人员,曾为多家知名企业开发应用,并任教于普罗斯特艺术学院和帕森设计学院。
John Paxton
资深开发人员,通晓多种开发语言,现专心研究Java和JavaScript
译者简介:
门佳
一名技术控,喜欢溯本求源,挖掘技术背后的细节。对于编译技术、Linux系统编程、Perl、网络协议分析、Web前后端开发等均有涉猎,翻译过《Linux Shell脚本攻略》、《TCP Sockets编程》、《Linux命令行与shell脚本编程大全(第3版)》等书籍。闲暇经常混迹于豆瓣和知乎,他喜欢说的一句话就是“无聊才读书”。
李伟
西安电子科技大学通信专业硕士,理工出身,醉心史著;擅长研究,不拘于术。曾任职于国内某著名电信设备制造商,有十余年VxWorks及Linux操作系统编程经历,近年来将注意力转向Web开发领域。一路激情溢怀,感恩充内,恰是俗人不甘俗。
第1章 专业JavaScript技术1
1.1 JavaScript的历程1
1.2 现代JavaScript3
1.2.1 库的崛起4
1.2.2 移动,可不只说说而已5
1.2.3 何去何从5
1.3 后续内容6
1.4 小结7
第2章 特性、函数和对象8
2.1 语言特性8
2.1.1 引用和值8
2.1.2 作用域10
2.1.3 上下文12
2.1.4 闭包13
2.1.5 函数重载与类型检查16
2.2 新的对象工具19
2.2.1 对象19
2.2.2 修改对象19
2.3 小结22
第3章 创建可重用代码23
3.1 面向对象的JavaScript23
3.1.1 继承27
3.1.2 成员可见性31
3.1.3 面向对象JavaScript的未来33
3.2 打包JavaScript33
3.2.1 命名空间33
3.2.2 模块模式34
3.2.3 立即调用的函数表达式36
3.3 小结38
第4章 JavaScript代码调试39
4.1 调试工具39
4.1.1 控制台40
4.1.2 利用控制台的特性42
4.2 调试器43
4.2.1 DOM探查器44
4.2.2 网络分析器44
4.2.3 时间线45
4.2.4 侧写器45
4.3 小结47
第5章 文档对象模型48
5.1 文档对象模型简介48
5.1.1 DOM结构50
5.1.2 DOM中的相互关系51
5.2 访问DOM元素53
5.3 等待HTML DOM载入56
5.3.1 等待页面载入56
5.3.2 等待正确的事件56
5.4 获取元素内容57
5.4.1 获取元素的文本内容57
5.4.2 获取元素的HTML59
5.5 使用元素特性59
5.6 修改DOM63
5.6.1 使用DOM创建节点63
5.6.2 插入DOM63
5.6.3 向DOM中插入HTML64
5.6.4 从DOM中删除节点66
5.6.5 处理DOM中的空白字符67
5.6.6 简单的DOM导航68
5.7 小结70
第6章 事件71
6.1 JavaScript事件简介71
6.1.1 栈、队列和事件循环71
6.1.2 事件阶段72
6.2 绑定事件侦听器73
6.2.1 传统式绑定74
6.2.2 DOM绑定:W3C77
6.2.3 解除事件绑定78
6.3 常见的事件特性79
6.3.1 事件对象79
6.3.2 取消事件冒泡80
6.3.3 屏蔽浏览器的默认行为81
6.3.4 事件委托82
6.4 事件对象83
6.4.1 普通属性83
6.4.2 鼠标属性84
6.4.3 键盘属性86
6.5 事件类型86
6.5.1 页面事件87
6.5.2 UI事件88
6.5.3 鼠标事件88
6.5.4 键盘事件89
6.5.5 表单事件90
6.5.6 事件可访问性90
6.6 小结91
第7章 JavaScript与表单验证92
7.1 HTML与CSS表单验证92
7.2 JavaScript表单验证95
7.2.1 验证与用户98
7.2.2 验证事件99
7.3 定制验证101
7.4 小结102
第8章 Ajax入门103
8.1 使用Ajax104
8.1.1 HTTP请求104
8.1.2 HTTP响应109
8.2 小结111
第9章 Web生产工具112
9.1 为项目搭建脚手架112
9.2 NPM必不可少113
9.3 生成器113
9.3.1 版本控制115
9.3.2 添加文件、更新以及首次
提交116
9.4 小结119
第10章 AngularJS与测试120
10.1 视图与控制器122
10.2 远程数据源124
10.3 路由126
10.4 路由参数126
10.5 应用程序测试128
10.5.1 单元测试128
10.5.2 使用Protractor进行端到端
测试132
10.6 小结134
第11章 JavaScript的未来135
11.1 ECMAScript的过去和未来135
11.2 使用ECMAScript Harmony136
11.2.1 Harmony资源136
11.2.2 使用Harmony137
11.3 ECMAScript Harmony语言特性141
11.3.1 箭头函数142
11.3.2 类143
11.3.3 Promise144
11.3.4 模块146
11.3.5 类型扩展148
11.3.6 全新的聚合类型151
11.4 小结153
附录A DOM参考154
《一本书学会做数据分析:成功商务人士案头必备》结合具体的商务实例对Excel软件和数据分析进行了详细介绍,在分析实例的同时,还
《兄弟在清华和北航的日子(第三辑)》内容简介:每一代成功人士都有自己的故事。该书记录的是20世纪80年代,一对亲兄弟求学奋斗的
《PHP与MySQL基础教程(第2版)》采用基于任务的方法来讲授PHP和MySQL,使用大量图片指导读者深入学习语言,并向读者展示了如何构造
《汇编语言程序设计》讲述每种高级语言程序在连接为可执行程序之前,都必须被编译为汇编语言程序,因此对于高级语言程序设计者来
《理财防骗手册(好规划专刊002期)》内容简介:MMM和百川币,月赚30%投的是什么?号称“低风险、高收益”的原油投资靠谱吗?电信、
《编程珠玑》第一版是我早期职业生涯中阅读过的对我影响较大的书籍之一,在书中首次接触到的很多观点都让我长期受益。作者在这一
《把爱画出来·亲手画出宝宝的成长日记》内容简介:当你的生活中,突然“闯入”了一个小生命,他既是你情感的结晶,又是新生活的开
《PLC编程实用指南(第3版)》内容简介:本书围绕PLC用于顺序控制、脉冲量控制、模拟量控制、通信及数据处理五大主题,对欧姆龙、西
Mozillaisnotjustabrowser.Mozillaisalsoaframeworkthatallowsdeveloperstocreatecros...
《量化投资:以MATLAB为工具(第2版)》内容简介:本书分为基础篇和高级篇两大部分。基础篇通过Q&A的方式介绍了MATLAB的主要功能、
被咬过一口的苹果残缺低调但却难掩光芒无论是偏执狂还是是残忍的完美主义者无论是创新迷还是神一样的传奇都不重要他就是乔布斯不
《日本字体与平面设计大奖年鉴2004》内容包括:评委会主席致辞;大奖获得者获奖感言;大奖;特别奖;最佳作品;获奖作品;视觉识
《自然与人工系统中的适应:理论分析及其在生物控制和人工智能中的应用》是遗传算法开山之作,以适应性为主题,贯穿生物、经济、人
SPRING BOOT+VUE全栈开发实战 本书特色 传统的JavaEE开发效率低下、配置臃肿、调试不便,严重制约了程序员的生产力。Spring Boot致力于...
《新编电信技术概论》讲述现代电信的相关概念、涉及的关键技术及工作原理。全书共分13章。第一章基本概念,介绍信号的频域分析、
《历史学家的经线》内容简介:孙隆基先生在本书中用自己独特方式对中国近代政治史和思想史上核心的辛亥革命、五四运动、鲁迅问题、
《物联网系统架构设计与边缘计算(原书第2版)》内容简介:本书涵盖从物联网传感器到云计算的整个物联网解决方案谱系。首先研究现代
《LTE-B3G/4G移动通信系统无线技术》作者为教授级高工,2003年获西安交通大学博士学位,目前在贝尔实验室(德国)从事第四代无线
《知识图谱技术与应用》内容简介:本书系统地介绍了知识图谱的相关概念、技术要素与应用,不仅涵盖了知识图谱技术的发展历程与特点
《思维导图阅读:能模仿的写作》内容简介:5篇名作精读、43幅场景式思维导图、27篇作文点评——本书用思维导图打通从阅读到写作的通