计算机
类型
8.6
豆瓣评分
可以朗读
语音朗读
349千字
字数
2018-01-01
发行日期
展开全部
主编推荐语
JavaScript开发技术全攻略:设计、构建、维护
内容简介
本书分设计、构建和维护3个阶段介绍全新的JavaScript开发技术。首先让读者建立牢固的基本知识,然后讲解如何构建JavaScript库,解释了构建JavaScript库需要应付和解决的问题的解决方案和开发策略,还介绍了保证代码运行良好的维护技术。
目录
- 版权信息
- 版权声明
- 内容提要
- 译者简介
- 作者简介
- 致谢
- 序
- 前言
- 封面插图简介
- ES6速查表
- 第1部分 热身
- 第1章 无所不在的JavaScript
- 1.1 “理解”JavaScript语言
- 1.1.1 JavaScript是如何发展的
- 1.1.2 如今的转换编译器已经能让我们体验未来的JavaScript
- 1.2 理解浏览器
- 1.3 使用当前的最佳实践
- 1.3.1 调试
- 1.3.2 测试
- 1.3.3 性能分析
- 1.4 提高跨平台开发能力
- 1.5 小结
- 第2章 运行时的页面构建过程
- 2.1 生命周期概览
- 2.2 页面构建阶段
- 2.2.1 HTML解析和DOM构建
- 2.2.2 执行JavaScript代码
- 2.3 事件处理
- 2.3.1 事件处理器概览
- 2.3.2 注册事件处理器
- 2.3.3 处理事件
- 2.4 小结
- 2.5 练习
- 第2部分 理解函数
- 第3章 新手的第一堂函数课:定义与参数
- 3.1 函数式的不同点到底是什么
- 3.1.1 函数是第一类对象
- 3.1.2 回调函数
- 3.2 函数作为对象的乐趣
- 3.2.1 存储函数
- 3.2.2 自记忆函数
- 3.3 函数定义
- 3.3.1 函数声明和函数表达式
- 3.3.2 箭头函数
- 3.4 函数的实参和形参
- 3.4.1 剩余参数
- 3.4.2 默认参数
- 3.5 小结
- 3.6 练习
- 第4章 函数进阶:理解函数调用
- 4.1 使用隐式函数参数
- 4.1.1 arguments参数
- 4.1.2 this参数:函数上下文
- 4.2 函数调用
- 4.2.1 作为函数直接被调用
- 4.2.2 作为方法被调用
- 4.2.3 作为构造函数调用
- 4.2.4 使用apply和call方法调用
- 4.3 解决函数上下文的问题
- 4.3.1 使用箭头函数绕过函数上下文
- 4.3.2 使用bind方法
- 4.4 小结
- 4.5 练习
- 第5章 精通函数:闭包和作用域
- 5.1 理解闭包
- 5.2 使用闭包
- 5.2.1 封装私有变量
- 5.2.2 回调函数
- 5.3 通过执行上下文来跟踪代码
- 5.4 使用词法环境跟踪变量的作用域
- 5.4.1 代码嵌套
- 5.4.2 代码嵌套与词法环境
- 5.5 理解JavaScript的变量类型
- 5.5.1 变量可变性
- 5.5.2 定义变量的关键字与词法环境
- 5.5.3 在词法环境中注册标识符
- 5.6 研究闭包的工作原理
- 5.6.1 回顾使用闭包模拟私有变量的代码
- 5.6.2 私有变量的警告
- 5.6.3 回顾闭包和回调函数的例子
- 5.7 小结
- 5.8 练习
- 第6章 未来的函数:生成器和promise
- 6.1 使用生成器和promise编写优雅的异步代码
- 6.2 使用生成器函数
- 6.2.1 通过迭代器对象控制生成器
- 6.2.2 使用生成器
- 6.2.3 与生成器交互
- 6.2.4 探索生成器内部构成
- 6.3 使用promise
- 6.3.1 理解简单回调函数所带来的问题
- 6.3.2 深入研究promise
- 6.3.3 拒绝promise
- 6.3.4 创建第一个真实promise案例
- 6.3.5 链式调用promise
- 6.3.6 等待多个promise
- 6.3.7 promise竞赛
- 6.4 把生成器和promise相结合
- 面向未来的async函数
- 6.5 小结
- 6.6 练习
- 第3部分 深入钻研对象,强化代码
- 第7章 面向对象与原型
- 7.1 理解原型
- 7.2 对象构造器与原型
- 7.2.1 实例属性
- 7.2.2 JavaScript动态特性的副作用
- 7.2.3 通过构造函数实现对象类型
- 7.3 实现继承
- 7.3.1 重写constructor属性的问题
- 7.3.2 instanceof操作符
- 7.4 在ES6使用JavaScript的class
- 7.4.1 使用关键字class
- 7.4.2 实现继承
- 7.5 小结
- 7.6 练习
- 第8章 控制对象的访问
- 8.1 使用getter与setter控制属性访问
- 8.1.1 定义getter和setter
- 8.1.2 使用getter与setter校验属性值
- 8.1.3 使用getter与setter定义如何计算属性值
- 8.2 使用代理控制访问
- 8.2.1 使用代理记录日志
- 8.2.2 使用代理检测性能
- 8.2.3 使用代理自动填充属性
- 8.2.4 使用代理实现负数组索引
- 8.2.5 代理的性能消耗
- 8.3 小结
- 8.4 练习
- 第9章 处理集合
- 9.1 数组
- 9.1.1 创建数组
- 9.1.2 在数组两端添加、删除元素
- 9.1.3 在数组任意位置添加、删除元素
- 9.1.4 数组常用操作
- 9.1.5 复用内置的数组函数
- 9.2 Map
- 9.2.1 别把对象当做Map
- 9.2.2 创建map
- 9.2.3 遍历map
- 9.3 Set
- 9.3.1 创建Set
- 9.3.2 并集
- 9.3.3 交集
- 9.3.4 差集
- 9.4 小结
- 9.5 练习
- 第10章 正则表达式
- 10.1 为什么需要正则表达式
- 10.2 正则表达式进阶
- 10.2.1 正则表达式说明
- 10.2.2 术语和操作符
- 10.3 编译正则表达式
- 10.4 捕获匹配的片段
- 10.4.1 执行简单捕获
- 10.4.2 使用全局表达式进行匹配
- 10.4.3 捕获的引用
- 10.4.4 未捕获的分组
- 10.5 利用函数进行替换
- 10.6 使用正则表达式解决常见的问题
- 10.6.1 匹配换行
- 10.6.2 匹配Unicode字符
- 10.6.3 匹配转义字符
- 10.7 小结
- 10.8 练习
- 第11章 代码模块化
- 11.1 在JavaScript ES6之前的版本中模块化代码
- 11.1.1 使用对象、闭包和立即执行函数实现模块
- 11.1.2 使用AMD和CommonJS模块化JavaScript应用
- 11.2 ES6模块
- 导出和导入功能
- 11.3 小结
- 11.4 练习
- 第4部分 洞悉浏览器
- 第12章 DOM操作
- 12.1 向DOM中注入HTML
- 12.1.1 将HTML字符串转换成DOM
- 12.1.2 将DOM元素插入到文档中
- 12.2 DOM的特性和属性
- 12.3 令人头疼的样式特性
- 12.3.1 样式在何处
- 12.3.2 样式属性命名
- 12.3.3 获取计算后样式
- 12.3.4 转换像素值
- 12.3.5 测量元素的高度和宽度
- 12.4 避免布局抖动
- 12.5 小结
- 12.6 练习
- 第13章 历久弥新的事件
- 13.1 深入事件循环
- 13.1.1 仅含宏任务的示例
- 13.1.2 同时含有宏任务和微任务的示例
- 13.2 玩转计时器:延迟执行和间隔执行
- 13.2.1 在事件循环中执行计时器
- 13.2.2 处理计算复杂度高的任务
- 13.3 处理事件
- 13.3.1 通过DOM代理事件
- 13.3.2 自定义事件
- 13.4 小结
- 13.5 练习
- 第14章 跨浏览器开发技巧
- 14.1 跨浏览器注意事项
- 14.2 五大开发问题
- 14.2.1 浏览器的bug和差异
- 14.2.2 浏览器的bug修复
- 14.2.3 外部代码和标记
- 14.2.4 回归
- 14.3 实现策略
- 14.3.1 安全的跨浏览器修复方法
- 14.3.2 特性检测和垫片
- 14.3.3 不可测试的浏览器问题
- 14.4 减少假设
- 14.5 小结
- 14.6 练习
- 附录A ES6附加特性
- 附录B 测试与调试的武器
- 附录C 习题答案
- 第2章
- 第3章
- 第4章
- 第5章
- 第6章
- 第7章
- 第8章
- 第9章
- 第10章
- 第11章
- 第12章
- 第13章
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。