展开全部

主编推荐语

本书从基础到高级,主要阐释JavaScript编程各层面的语法、观念、实战示例与习题。

内容简介

本书主要内容包括:表达式与运算符,数据类型,条件和循环语句,函数与方法,处理数值、字符串、数组、自定义对象与日期和时间,DOM的事件处理和元素实例,Reflect、Proxy和Intl对象,window.navigator、window.document和BOM的多个对象实例,类,错误处理,数据的验证与传输,响应式机制与源代码加密。

本书含有充足且具有创意的实战示例,利于读者学习、理解和实际运用。另外,各章末的习题也是用来演练学习成果的良方,可起到事半功倍的奇效。

本书既适合业界的程序开发者阅读,也可作为大中专院校与培训机构的教学参考书。

目录

  • 版权信息
  • 内容简介
  • 前言
  • 第1章 ECMAScript简介
  • 1.1 概述
  • 1.1.1 ECMAScript各版本
  • 1.1.2 关于JavaScript
  • 1.1.3 其他脚本语言
  • 1.2 语法的实现
  • 1.2.1 源代码
  • 1.2.2 语句
  • 1.2.3 表达式
  • 1.2.4 子程序
  • 1.2.5 注释
  • 1.2.6 关键字
  • 1.3 开发环境
  • 1.3.1 浏览器
  • 1.3.2 Node.js
  • 1.3.3 其他JavaScript Shell
  • 1.4 练习题
  • 第2章 表达式与运算符
  • 2.1 操作数
  • 2.1.1 常量(ES6)
  • 2.1.2 变量(ES6)
  • 2.1.3 子表达式
  • 2.1.4 函数的返回值
  • 2.2 运算符
  • 2.2.1 算术运算符(ES7)
  • 2.2.2 赋值运算符
  • 2.2.3 比较运算符
  • 2.2.4 逻辑运算符
  • 2.2.5 条件运算符
  • 2.2.6 类型运算符
  • 2.2.7 按位运算符
  • 2.2.8 括号运算符
  • 2.2.9 扩展运算符(ES6)
  • 2.2.10 逗号运算符
  • 2.2.11 删除运算符
  • 2.2.12 运算符的优先级(ES6)
  • 2.3 练习题
  • 第3章 数据类型
  • 3.1 数值类型
  • 3.1.1 2n进制的字面量(ES6)
  • 3.1.2 数值的比较(ES6)
  • 3.1.3 数值的正负符号(ES6)
  • 3.1.4 数值的截断(ES6)
  • 3.1.5 数值的特殊格式(ECMA-402)
  • 3.1.6 整数值的安全范围(ES6)
  • 3.2 布尔类型
  • 3.3 数组类型
  • 3.4 对象类型
  • 3.5 字符串类型
  • 3.5.1 一般字符串
  • 3.5.2 格式化字符串(ES6)
  • 3.5.3 日期与时间格式的字符串(ES6)
  • 3.6 集合与地图类型
  • 3.6.1 集合类型(ES6)
  • 3.6.2 地图类型(ES6)
  • 3.7 数据类型的转换(ES6)
  • 3.8 练习题
  • 第4章 条件和循环语句
  • 4.1 条件语句
  • 4.1.1 if语句
  • 4.1.2 switch语句
  • 4.2 循环语句
  • 4.2.1 for相关语句(ES6)
  • 4.2.2 while相关语句
  • 4.2.3 break与continue语句
  • 4.3 练习题
  • 第5章 函数与方法
  • 5.1 函数的定义
  • 5.1.1 不同形式的函数(ES6)
  • 5.1.2 函数名称(ES6)
  • 5.1.3 参数(ES6)
  • 5.1.4 主体
  • 5.1.5 返回数据与void关键字(ES6)
  • 5.1.6 定义的位置(ES6)
  • 5.1.7 函数的调用形式(ES6)
  • 5.2 生成器
  • 5.2.1 迭代器协议与生成器(ES6)
  • 5.2.2 生成器函数的定义和用法(ES6)
  • 5.3 搭配Promise对象
  • 5.3.1 Promise对象的用法(ES6、ES9)
  • 5.3.2 聚集多个Promise对象(ES6)
  • 5.3.3 异步函数与等待表达式(ES8)
  • 5.4 练习题
  • 第6章 处理数值
  • 6.1 Number对象的内置属性
  • 6.1.1 最大的正数和安全整数(ES6)
  • 6.1.2 最小的正数和安全整数(ES6)
  • 6.1.3 正负无穷值
  • 6.1.4 非数值的判断(ES6)
  • 6.1.5 浮点数运算的误差值(ES6)
  • 6.2 Number对象的内置函数
  • 6.2.1 转换为特定进制的数码字符串
  • 6.2.2 处理小数格式
  • 6.2.3 转换为数值
  • 6.2.4 判断是否为整数或有限数(ES6)
  • 6.3 Math对象
  • 6.3.1 Math对象的常量属性
  • 6.3.2 Math对象的函数(ES6)
  • 6.4 练习题
  • 第7章 处理字符串
  • 7.1 String对象
  • 7.1.1 子字符串的索引值
  • 7.1.2 特定模式的子字符串的搜索(ES6)
  • 7.1.3 子字符串的获取
  • 7.1.4 子字符串的替换
  • 7.1.5 字符串的大小写转换
  • 7.1.6 不同字符串的连接
  • 7.1.7 字符串的重复连接
  • 7.1.8 字符串的分割
  • 7.1.9 特定字符和Unicode数码的双向转换(ES6)
  • 7.1.10 重复填充子字符串于扩充后的字符串中(ES8)
  • 7.2 将冗长的字符串分割为多行(ES6)
  • 7.3 字符串的扩展运算(ES6)
  • 7.4 字符串的插值格式化(ES6)
  • 7.5 原始字符串(ES6)
  • 7.6 正则表达式与黏性匹配(ES6)
  • 7.7 万国码字面量(ES6)
  • 7.8 练习题
  • 第8章 处理数组
  • 8.1 Array对象
  • 8.1.1 创建特定数组的副本(ES6)
  • 8.1.2 创建来自可迭代对象的新数组(ES6)
  • 8.1.3 数组元素数据所构成的字符串
  • 8.1.4 数组元素的放入和取出
  • 8.1.5 新增或删除数组的多个元素
  • 8.1.6 合并多个数组
  • 8.1.7 切割数组
  • 8.1.8 寻找符合特定条件的数组元素(ES6)
  • 8.1.9 自我复制并覆盖数组的部分元素(ES6)
  • 8.1.10 判断数组各元素是否符合特定条件
  • 8.1.11 数组部分元素的填充(ES6)
  • 8.1.12 筛选出符合特定条件的数组元素(ES6)
  • 8.1.13 循环访问数组各元素
  • 8.1.14 判断是否为数组的实例
  • 8.1.15 访问并渐次处理数组各元素的数据
  • 8.1.16 反转数组各元素的顺序
  • 8.1.17 数组各元素的重新排序
  • 8.1.18 判断特定元素的存在性(ES7)
  • 8.2 数组的扩展运算(ES6)
  • 8.3 数组元素的匹配(ES6)
  • 8.4 数据类型化的按位数组(ES6)
  • 8.5 练习题
  • 第9章 处理自定义对象
  • 9.1 自定义对象的属性名称、属性数据与副本
  • 9.1.1 对象属性的名称或数据所构成的数组(ES8)
  • 9.1.2 精细创建特定对象实例的副本
  • 9.2 自定义对象实例之间的相同性与合并
  • 9.2.1 判断两个对象实例的数据是否完全相同(ES6)
  • 9.2.2 合并多个对象实例的所有成员(ES6)
  • 9.3 对象实例的简短自定义语法(ES6)
  • 9.4 自定义对象实例的动态成员名称(ES6)
  • 9.5 对象实例的匹配(ES9)
  • 9.6 练习题
  • 第10章 处理日期和时间
  • 10.1 处理日期
  • 10.1.1 获取日期相关数据
  • 10.1.2 设置日期相关数据
  • 10.1.3 带有日期的格式化字符串
  • 10.2 处理时间
  • 10.2.1 获取时间相关数据
  • 10.2.2 设置时间相关数据
  • 10.2.3 带有时间的格式化字符串
  • 10.2.4 处理纪元时间至今的毫秒数(ES6)
  • 10.3 练习题
  • 第11章 DOM的事件处理(一)
  • 11.1 鼠标事件
  • 11.1.1 单击和双击事件
  • 11.1.2 上下文菜单事件
  • 11.1.3 鼠标按下与松开事件
  • 11.1.4 鼠标指针相关进出事件
  • 11.1.5 鼠标移动事件
  • 11.2 键盘事件
  • 11.2.1 按压与按下按键事件
  • 11.2.2 松开按键事件
  • 11.3 网页内容的装卸事件
  • 11.3.1 出现错误事件
  • 11.3.2 加载和页面显示事件
  • 11.3.3 卸载和页面隐藏事件
  • 11.3.4 先于卸载事件
  • 11.3.5 网址散列变化事件
  • 11.3.6 滚动事件
  • 11.4 表单事件
  • 11.4.1 内容变化事件
  • 11.4.2 获取和失去焦点相关事件
  • 11.4.3 输入事件
  • 11.4.4 无效事件
  • 11.4.5 重置事件
  • 11.4.6 搜索事件
  • 11.4.7 选定文本事件
  • 11.4.8 提交事件
  • 11.5 练习题
  • 第12章 DOM的事件处理(二)
  • 12.1 拖动事件
  • 12.1.1 正在拖动事件
  • 12.1.2 拖动结束事件
  • 12.1.3 拖动进入事件
  • 12.1.4 拖动离开事件
  • 12.1.5 拖动悬停事件
  • 12.1.6 拖动开始事件
  • 12.1.7 放下事件
  • 12.2 剪贴板事件
  • 12.2.1 复制事件
  • 12.2.2 剪切事件
  • 12.2.3 粘贴事件
  • 12.3 视频和音频事件
  • 12.3.1 加载相关事件
  • 12.3.2 清空事件
  • 12.3.3 播放结束事件
  • 12.3.4 异常相关事件
  • 12.3.5 播放与暂停相关事件
  • 12.3.6 播放速率变化事件
  • 12.3.7 播放位置变化相关事件
  • 12.3.8 音量变化事件
  • 12.3.9 缓冲等待事件
  • 12.4 动画及过渡事件
  • 12.4.1 动画相关事件
  • 12.4.2 过渡结束事件
  • 12.5 其他事件
  • 12.5.1 details元素实例的切换事件
  • 12.5.2 鼠标滚轮事件
  • 12.5.3 触摸相关事件
  • 12.5.4 接收服务器数据相关事件
  • 12.6 练习题
  • 第13章 Reflect对象
  • 13.1 Reflect对象介绍(ES6)
  • 13.2 间接应用特定函数(ES6)
  • 13.3 创建特定对象的实例(ES6)
  • 13.4 精细定义新属性(ES6)
  • 13.5 删除特定属性(ES6)
  • 13.6 获取特定属性的数据(ES6)
  • 13.7 返回特定属性的描述器(ES8)
  • 13.8 返回特定对象的原型(ES6)
  • 13.9 判断特定属性的存在性(ES6)
  • 13.10 判断与设置特定对象的扩展性(ES6)
  • 13.11 简易定义新属性(ES6)
  • 13.12 重新设置特定对象的原型(ES6)
  • 13.13 返回与列举特定对象的自定义属性(ES6)
  • 13.14 练习题
  • 第14章 Proxy对象、Intl对象和navigator对象实例
  • 14.1 Proxy对象
  • 14.1.1 创建访问代理机制的构造函数(ES6)
  • 14.1.2 确定被代理的特定对象(ES6)
  • 14.1.3 自定义代理函数(ES6)
  • 14.1.4 调试访问代理机制(ES6)
  • 14.2 Intl对象
  • 14.2.1 精确比较语言敏感的字符串(ECMA-402)
  • 14.2.2 语言敏感的日期与时间格式(ECMA-402)
  • 14.2.3 语言敏感的数值格式(ECMA-402)
  • 14.2.4 返回规范化语言环境名称(ECMA-402)
  • 14.3 window.navigator对象实例
  • 14.3.1 获取浏览器相关信息
  • 14.3.2 获取当前地理定位相关数据
  • 14.4 练习题
  • 第15章 window.document对象实例
  • 15.1 返回焦点所在的元素
  • 15.2 附加事件处理器至特定元素
  • 15.3 收养特定节点
  • 15.4 返回所有锚点元素构成的集合
  • 15.5 返回当前网址的相关属性
  • 15.6 在当前网页中动态生成HTML源代码
  • 15.7 内含特定服务器相关数据的cookie
  • 15.8 返回当前网页编码字符集的名称
  • 15.9 创建代表新属性的节点
  • 15.10 创建代表新注释的节点
  • 15.11 创建代表新片段或新元素的节点
  • 15.12 创建代表新文本的节点
  • 15.13 返回当前网页的根元素
  • 15.14 访问当前网址的域名
  • 15.15 返回所有embed元素构成的集合
  • 15.16 返回所有form元素实例构成的集合
  • 15.17 返回特定身份识别码的元素实例
  • 15.18 返回被设置带有特定CSS类名的所有元素实例的集合
  • 15.19 返回特定标签名称的所有元素实例的集合
  • 15.20 判断当前网页是否存在焦点
  • 15.21 返回当前网页的head元素实例
  • 15.22 返回当前网页所有image元素实例的集合
  • 15.23 创建当前网页或者子网页里的特定节点实例的副本
  • 15.24 获取当前网页的最近被修改的日期和时间
  • 15.25 返回当前网页中的所有超链接元素实例的集合
  • 15.26 返回特定CSS选择器名称对应的元素实例或集合
  • 15.27 返回和处置当前网页的加载状态
  • 15.28 返回跳转前的网址
  • 15.29 解除已被附加的事件处理器
  • 15.30 返回当前网页中的所有script元素实例构成的集合
  • 15.31 访问当前网页的标题文本
  • 15.32 练习题
  • 第16章 DOM的元素实例
  • 16.1 设置焦点跳转至特定元素实例上的快捷键
  • 16.2 创建特定元素实例的动画效果(Web Animations)
  • 16.3 添加新元素实例和访问特定元素实例的所有属性
  • 16.4 使得特定元素实例失去和获取焦点
  • 16.5 访问子节点或子元素的实例
  • 16.6 访问被应用在特定元素实例的所有CSS类名
  • 16.7 模拟鼠标单击特定元素实例的动作
  • 16.8 获取特定元素的尺寸、坐标与可定位的上层元素
  • 16.9 比较两个元素之间的位置关系
  • 16.10 判断是否存在特定子元素或可被编辑
  • 16.11 访问特定元素实例的文本被书写的方向
  • 16.12 返回头尾的子节点实例或子元素实例
  • 16.13 访问或删除特定元素实例的特定属性
  • 16.14 访问特定元素实例的常见属性的数据
  • 16.15 判断是否存在任何子节点实例
  • 16.16 在特定子节点实例之前新增另一子节点实例
  • 16.17 判断两个节点实例的内容是否完全相同
  • 16.18 返回下一个或上一个兄弟节点实例
  • 16.19 返回特定节点实例的相关数据
  • 16.20 合并多个相邻的文本子节点实例
  • 16.21 返回父节点实例
  • 16.22 删除或替换子节点实例
  • 16.23 获取滚动条的相关数据
  • 16.24 练习题
  • 第17章 BOM的多个对象实例
  • 17.1 window对象实例
  • 17.1.1 显示多种对话框与搜索特定文本
  • 17.1.2 滚动至坐标或滚动特定距离
  • 17.2 screen对象实例
  • 17.3 history对象实例
  • 17.4 location对象实例
  • 17.5 练习题
  • 第18章 类
  • 18.1 类的定义和继承
  • 18.1.1 类的定义(ES6)
  • 18.1.2 类的继承(ES6)
  • 18.2 类的静态成员
  • 18.2.1 静态成员的概念和定义(ES6)
  • 18.2.2 静态成员的运用(ES6)
  • 18.3 类的设置器和取得器
  • 18.3.1 设置器和取得器的概念和定义(ES6)
  • 18.3.2 设置器和取得器的运用(ES6)
  • 18.4 练习题
  • 第19章 错误处理
  • 19.1 异常错误的种类
  • 19.1.1 语法错误
  • 19.1.2 数据类型错误
  • 19.1.3 评估错误
  • 19.1.4 范围错误
  • 19.1.5 引用错误
  • 19.1.6 网址在编码或解码上的错误
  • 19.1.7 逻辑错误
  • 19.2 处置特定异常错误
  • 19.2.1 试验与捕获特定异常错误
  • 19.2.2 抛出自定义的异常错误
  • 19.3 调试机制
  • 19.3.1 严格模式
  • 19.3.2 源代码的断点设置和逐句执行
  • 19.4 练习题
  • 第20章 数据的验证与传输
  • 20.1 HTML表单的内置验证
  • 20.1.1 必填验证
  • 20.1.2 字符个数和数值范围的验证
  • 20.2 自定义的验证
  • 20.2.1 文本字段的模式验证
  • 20.2.2 JavaScript源代码实现的验证
  • 20.3 异步数据传输
  • 20.3.1 AJAX的工作原理
  • 20.3.2 AJAX的编程方式
  • 20.4 练习题
  • 第21章 响应式机制
  • 21.1 通过CSS语法的版本
  • 21.1.1 页面的元信息
  • 21.1.2 媒体查询
  • 21.2 通过JavaScript语法的版本
  • 21.2.1 简易判断窗口尺寸的版本
  • 21.2.2 直接变更CSS规则的版本
  • 21.3 源代码的加密
  • 21.3.1 改写HTML与CSS成为JavaScript源代码
  • 21.3.2 JavaScript源代码的全数加密
  • 21.4 练习题
  • 附录 练习题答案
展开全部

评分及书评

评分不足
1个评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。