JavaScript入门经典 第7版
豆瓣
JavaScript in 24 Hours, Sams Teach Yourself 7th Edition
[美]菲尔·巴拉德(Phil Ballard) 李强
简介
本书主要介绍JavaScript现有的主要特性,涵盖了JavaScript基础知识、编程方法、对象、HTML5和CSS3、JavaScript库、代码调试等内容。全书分为六个部分(包括24章和一个附录),从基本概念入手,逐步引申到按照当今Web标准编写JavaScript代码的方式,非常利于初学者学习参考。
目录
版权信息
版权
版权声明
内容提要
前言
资源与支持
第一部分 JavaScript 基础
第 1 章 JavaScript 简介
1.1 Web 脚本编程基础
1.1.1 服务器端与客户端编程
1.1.2 JavaScript 简介
1.1.3 JavaScript 起源
1.1.4 浏览器的竞争
1.1.5 <script>标签
1.1.6 DOM 简介
1.1.7 W3C 和 标准兼容
1.1.8 window 和 document 对象
1.1.9 对象表示法
1.1.10 与用户交互
1.1.11 document.write()
1.1.12 读取 document 对象的属性
1.2 小结
1.3 问答
1.4 作业
1.4.1 测验
1.4.2 答案
1.5 练习
第 2 章 创建简单的脚本
2.1 在 Web 页面里添加 JavaScript
2.2 编写 JavaScript 语句代码注释
2.3 变量
2.4 操作符
2.4.1 算术操作符
2.4.2 操作符优先级
2.4.3 对字符串使用操作符 “+”
2.5 捕获鼠标事件
2.5.1 onClick 事件处理器
2.5.2 onMouseOver 和 onMouseOut 事件处理器
2.6 小结
2.7 问答
2.8 作业
2.8.1 测验
2.8.2 答案
2.9 练习
第 3 章 使用函数
3.1 基本语法
3.2 调用函数
3.2.1 把 JavaScript 代码放置到页面的 <head> 区域
3.2.2 给函数传递参数
3.2.3 多参数
3.2.4 从函数返回值
3.2.5 匿名函数
3.3 小结
3.4 问答
3.5 作业
3.5.1 测验
3.5.2 答案
3.6 练习
第 4 章 函数的更多知识
4.1 变量作用域
4.1.1 使用 this 关键字
4.1.2 使用 let 和 const
4.1.3 用 const 关键字声明变量
4.2 箭头函数
4.3 设置默认参数
4.4 小结
4.5 问答
4.6 作业
4.6.1 测验
4.6.2 答案
4.7 练习
第 5 章 DOM 对象和 内置对象
5.1 与用户交互
5.1.1 alert()
5.1.3 prompt()
5.2 根据 id 选择元素 innerHTML 属性
5.3 访问浏览器历史记录
5.4 使用 location 对象
5.4.1 用 location 对象导航
5.4.2 刷新页面
5.4.3 获取浏览器信息: navigator 对象
5.5 日期和时间
5.5.1 创建具有当前日期和时间的 Date 对象
5.5.2 创建具有指定日期和时间的 Date 对象
5.5.3 设置和编辑日期与时间
5.5.4 利用 Math 对象简化运算
5.5.5 取整
5.5.6 获得最大值和 最小值
5.5.7 生成随机数
5.5.8 数学常数
5.5.9 关键字 with
5.6 小结
5.7 问答
5.8 作业
5.8.1 测验
5.8.2 答案
5.9 练习
第二部分 JavaScript 编程
第 6 章 数字和字符串
6.1 数值
6.1.1 整数
6.1.2 浮点数
6.1.3 十六进制数、二进制数和八进制数
6.2 全局方法
6.2.1 toString()
6.2.2 toFixed()
6.2.3 toExponential()
6.3 Number 对象
6.3.1 Number.isNaN()
6.3.2 Number.isInteger()
6.3.3 Number.parseFloat() 和 Number.parseInt()
6.3.4 无穷大
6.4 Number() 函数
6.5 布尔值
非操作符(!)
6.6 null(空)和 undefined(未定义)
6.7 小结
6.8 问答
6.9 作业
6.9.1 测验
6.9.2 答案
6.10 练习
第 7 章 操作字符串
7.1 字符串
7.1.1 length 属性
7.1.2 转义序列
7.1.3 字符串方法
7.2 模板字符串
7.3 小结
7.4 问答
7.5 作业
7.5.1 测验
7.5.2 答案
7.6 练习
第 8 章 数组
8.1 数组
8.1.1 创建新数组
8.1.2 初始化数组
8.1.3 数组的方法
8.2 如何遍历数组
8.2.1 使用 forEach()
8.2.2 使用 map()
8.2.3 使用 for-of 访问数组
8.3 三点表示法
8.3.1 组合多个数组
8.3.2 用参数的数组来调用函数
8.3.3 收集数据
8.4 小结
8.5 问答
8.6 作业
8.6.1 测验
8.6.2 答案
8.7 练习
第 9 章 用 JavaScript 处理事件
9.1 事件的类型
9.2 事件处理器
9.2.1 内联事件处理器
9.2.2 作为 DOM 对象的属性的事件处理器
9.2.3 使用 addEventListener()
9.2.4 添加多个监听器
9.3 event 对象
9.3.1 阻止默认行为
9.3.2 事件冒泡和捕获
9.3.3 关闭冒泡和捕获
9.4 小结
9.5 问答
9.6 作业
9.6.1 测验
9.6.2 答案
9.7 练习
第 10 章 程序控制
10.1 条件语句
10.1.1 if() 语句
10.1.2 比较操作符
10.1.3 测试相等性
10.1.4 if 进阶
10.1.5 测试多个条件
10.1.6 switch 语句
10.1.7 逻辑操作符
10.2 循环和控制结构
10.2.1 while
10.2.2 do...while
10.2.3 for
10.2.4 用 break 跳出循环
10.2.5 用 for...in 在对象集 里循环
10.3 设置和使用定时器
10.3.1 setTimeout()
10.3.2 setInterval()
10.4 小结
10.5 问答
10.6 作业
10.6.1 测验
10.6.2 答案
10.7 练习
第三部分 理解 JavaScript 对象
第 11 章 面向对象编程
11.1 什么是面向对象编程
11.2 创建对象
11.2.1 创建直接实例
11.2.2 使用关键字 this
11.2.3 匿名函数
11.2.4 使用构造函数
11.3 用 prototype 扩展和继承对象
11.3.1 扩展对象
11.3.2 继承对象
11.4 封装
11.5 小结
11.6 问答
11.7 作业
11.7.1 测验
11.7.2 答案
11.8 练习
第 12 章 对象进阶
12.1 类
12.1.1 使用 getter 和 setter
12.1.2 Symbol
12.2 对象继承
使用 extends 和 super
12.3 使用功能检测
12.4 小结
12.5 问答
12.6 作业
12.6.1 测验
12.6.2 答案
12.7 练习
第 13 章 DOM 脚本编程
13.1 DOM 节点
13.1.1 节点类型
13.1.2 使用 nodeValue
13.1.3 使用 nodeName
13.2 用 getElementsByTagName() 选择元素
13.3 读取元素的属性
13.4 Mozilla 的 DOM 查看器
13.4.1 创建新节点
13.4.2 操作子节点
13.4.3 编辑元素属性
13.4.4 动态加载 JavaScript 文件
13.5 小结
13.6 问答
13.7 作业
13.7.1 测验
13.7.2 答案
13.8 练习
第 14 章 JSON 简介
14.1 JSON 是什么
JSON 语法
14.2 访问 JSON 数据
14.2.2 使用直接浏览器 JSON 支持
14.2.3 使用 JSON.parse()
14.3 JSON 的数据序列化
使用 JSON.stringify()
14.4 JSON 数据类型
14.5 模拟关联数组
14.6 使用 JSON 创建对象
14.6.1 属性
14.6.2 方法
14.6.3 数组
14.6.4 对象
14.7 JSON 安全性
14.8 小结
14.9 问答
14.10 作业
14.10.1 测验
14.10.2 答案
14.11 练习
第四部分 用 JavaScript 操作 Web 界面
第 15 章 HTML 与 JavaScript 编程
15.1 HTML5 的新标签
15.2 一些重要的新元素
15.2.1 用 <video> 回放视频
15.2.2 用 canPlayType() 测试可用的格式
15.2.3 控制回放
15.2.4 用 <audio> 标签播放声音
15.2.5 用 <canvas> 在页面上 绘图
15.3 拖放
15.4 本地存储
15.5 操作本地文件
查看浏览器的支持情况
15.6 小结
15.7 问答
15.8 作业
15.8.1 测验
15.8.2 答案
15.9 练习
第 16 章 JavaScript 和 CSS
16.1 CSS 简介
16.1.1 从内容 分离样式
16.1.2 CSS 样式声明
16.1.3 在哪里保存样式声明
16.2 DOM 的 style 属性
16.3 用 className 访问类
16.4 DOM 的 styleSheets 对象
启用、禁用和切换样式表
16.5 小结
16.6 问答
16.7 作业
16.7.1 测验
16.7.2 答案
16.8 练习
第 17 章 CSS3 简介
17.1 特定厂商的属性和前缀
17.2 CSS3 边框
17.2.1 创建边框阴影
17.2.2 用 border- radius 属性实现圆角
17.3 CSS3 背景
17.3.1 background- size 属性
17.3.2 background- origin 属性
17.3.3 多背景图像
17.4 CSS3 渐变
17.4.1 线性渐变
17.4.2 放射渐变
17.5 CSS3 文本效果
17.5.1 文本阴影
17.5.2 单词换行
17.6 CSS3 过渡、变换和动画
17.7 在 JavaScript 中引用 CSS3 属性
17.7.1 将 CSS 属性名 转换到 JavaScript 中
17.7.2 DOM getComputedStyle() 方法
17.8 设置带有厂商前缀的 CSS3 属性
17.9 小结
17.10 问答
17.11 作业
17.11.1 测验题
17.11.2 答案
17.12 练习
第五部分与 JavaScript 工具相关的高级技术
第 18 章 读取和写入 cookie
18.1 什么是 cookie
cookie 的局限
18.2 使用 document.cookie 属性
数据的编码和解码
18.3 cookie 组成
18.4 编写 cookie
18.5 编写一个函数来写 cookie
18.6 读取 cookie
18.7 删除 cookie
18.8 在一个 cookie 里设置多个值
18.9 小结
18.10 问答
18.11 作业
18.11.1 测验
18.11.2 答案
18.12 练习
第 19 章用 正则表达式匹配模式
19.1 创建正则表达式
19.1.1 使用正则表达式字符串字 面值
19.1.2 使用 JavaScript 的 RegExp 对象
19.1.3 对正则 表达式使用字符串方法
19.2 小结
19.3 问答
19.4 作业
19.4.1 测验
19.4.2 答案
19.5 练习
第 20 章 理解并使用闭包
20.1 回顾作用域的相关知识
20.2 从一个函数返回另一个函数
20.3 实现闭包
20.3.1 传递参数
20.3.2 编辑一个闭包变量
20.3.3 闭包和对象
20.4 小结
20.5 问答
20.6 作业
20.6.1 测验
20.6.2 答案
20.7 练习
第 21 章 用模块组织代码
21.1 为何使用模块
21.1.1 模块使得代码更容易维护
21.1.2 模块帮助复用代码
21.1.3 模块有助于整齐的全局作用域
21.2 模块基础知识
21.2.1 如何包含一个 JavaScript 模块
21.2.2 nomodule 关键字
21.3 导出
21.3.1 一个简单的示例模块
21.3.2 如何在导出时重命名
21.3.3 具名的和默认的导出
21.4 导入
21.4.1 默认导入
21.4.2 如何在导入的过程中重命名
21.4.3 如何把一个模块导入为一个对象
21.5 小结
21.6 问答
21.7 作业
21.7.1 测验
21.7.2 答案
21.8 练习
第六部分 专业技能
第 22 章 良好的编程习惯
22.1 避免过度使用 JavaScript
22.2 编写易读和易维护的代码
22.2.1 明智地使用注释
22.2.2 使用适当的文件名称、属性名称和方法名称
22.2.3 尽量复用代码
22.2.4 不要假设
22.3 平稳退化
22.4 渐进增强
分离样式、内容和代码
22.5 代码分离的 JavaScript
22.5.1 脱离 HTML
22.5.2 仅把 JavaScript 作为性能增强手段
22.6 功能检测
22.7 妥善处理错误
使用 try 和 catch
22.8 小结
22.9 问答
22.10 作业
22.10.1 测验
22.10.2 答案
22.11 练习
第 23 章 调试代码
23.1 调试简介
23.1.1 错误类型
23.1.2 选择程序员的编辑器
23.1.3 用 alert() 进行简单调试
23.2 更高级的调试
23.2.1 控制台
23.2.2 分组消息
23.2.3 用断点停止代码执行
23.2.4 条件性断点
23.2.5 从代码中启动调试器
23.2.6 验证 JavaScript
23.3 小结
23.4 问答
23.5 作业
23.5.1 测验
23.5.2 答案
23.6 练习
第 24 章 继续深入学习
24.1 为什么要使用库
24.2 库能做什么
24.3 一些常见的库和框架
24.3.1 Prototype 框架
24.3.2 Dojo
24.3.3 React
24.3.4 Node.js
24.3.5 jQuery
24.4 jQuery 入门
24.4.1 在页面里引用 jQuery
24.4.2 jQuery 的 $(document).ready 处理器
24.4.3 选择页面元素
24.4.4 操作 HTML 内容
24.4.5 显示和隐藏元素
24.4.6 命令链
24.4.7 处理事件
24.5 The jQuery UI
jQuery UI 是什么
24.6 Ajax 简介
24.6.1 Ajax 入门
24.6.2 XMLHttpRequest 对象
24.6.3 创建 request 对象
24.6.4 方法和属性
24.6.5 与服务器通信
24.6.6 在服务器端发生了什么
24.6.7 处理服务器响应
24.6.8 还有更容易的方法,不 是吗?
24.7 用 jQuery 实现 Ajax
24.8 Node.js 简介
使用一种非阻塞的代码模式
24.9 小结
24.10 问答
24.11 作业
24.11.1 测验
24.11.2 答案
24.12 练习
附录 JavaScript 开发工具
编辑器
Notepad++
jEdit
SciTE
Geany
验证程序
W3C 验证服务
Web 设计组(WDG)
CodeBeautify JavaScript 验证器
验证和测试工具
JSLint
JSONLint
在线正则表达式测试器