“网络发视频大讲堂”系列丛书于2013年5月出版,因其编写细腻、讲解透彻、实用易学、配备全程视频等,备受读者欢迎。丛书累计销售近20万册,其中,《HTML5 CSS3从门到精通》累计销售10万册。同时,系列书被上百所高校选为教学参考用书。 《JavaScript网页编程从门到精通(微课精编版)》内容有以下五特色。 1. 《JavaScript网页编程从门到精通(微课精编版)》提供了多样化、全方位的学习资源,帮助读者轻松掌握网页设计技术,从小白快速成长为前端发高手。
售 价:¥
纸质售价:¥67.80购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
封面页
书名页
版权页
内容简介
如何使用本书
手机端+PC端,线上线下同步学习
小白学习电子书
从小白到高手的蜕变
前言 Preface
本书内容
本书特点
本书资源
读者对象
读前须知
读者服务
关于作者
目录
第1章 JavaScript基础
1.1 JavaScript概述
1.1.1 什么是JavaScript
1.1.2 为什么学习JavaScript
1.2 JavaScript历史和版本
1.2.1 JavaScript早期历史
1.2.2 ECMAScript与JavaScript的关系
1.2.3 ECMAScript历史
1.2.4 ECMAScript与浏览器的兼容
1.3 JavaScript构成
1.3.1 JavaScript核心
1.3.2 文档对象模型
1.3.3 浏览器对象模型
1.4 初次使用JavaScript
1.4.1 编写脚本
1.4.2 脚本位置
1.4.3 设置延迟执行
1.4.4 设置异步响应
1.4.5 在XHTML中使用JavaScript脚本
1.4.6 兼容不支持JavaScript的浏览器
1.4.7 比较嵌入代码与链接脚本
1.4.8 使用<noscript>标签
1.4.9 脚本的动态加载
1.5 JavaScript解析基础
1.6 浏览器与JavaScript
1.7 JavaScript开发工具
1.8 JavaScript发展趋势
第2章 JavaScript基本语法
2.1 编写第一行代码
2.2 变量
2.2.1 声明变量
2.2.2 赋值变量
2.2.3 变量的作用域
2.2.4 全局变量
2.3 数据类型
2.3.1 检测类型
2.3.2 数值
2.3.3 字符串
2.3.4 布尔值
2.3.5 Null和Undefined
2.4 运算符
2.5 使用算术运算符
2.5.1 加法运算
2.5.2 减法运算
2.5.3 乘法运算
2.5.4 除法运算
2.5.5 余数运算
2.5.6 取反运算
2.5.7 递增和递减运算
2.6 使用逻辑运算符
2.6.1 与运算
2.6.2 或运算符
2.6.3 非运算符
2.6.4 逻辑运算
2.7 使用关系运算符
2.7.1 大小比较
2.7.2 包含检测
2.7.3 等值检测
2.8 使用赋值运算符
2.9 使用对象操作运算符
2.10 使用位运算符
2.10.1 认识位运算
2.10.2 逻辑位运算
2.10.3 移位运算
2.11 使用其他运算符
2.11.1 条件运算符
2.11.2 逗号运算符
2.11.3 void运算符
2.12 表达式
2.13 严格模式
2.14 案例实战
2.14.1 完善类型检测接口
2.14.2 转换为字符串
2.14.3 转换为数字
2.14.4 转换为数字形式字符串
2.14.5 转换为布尔值
2.14.6 转换为对象
2.14.7 把对象转换为值
2.14.8 强制类型转换
2.15 强化练习
2.15.1 求值
2.15.2 简单编程
2.15.3 表达式计算
2.15.4 表达式编程
第3章 JavaScript程序结构设计
3.1 语句
3.1.1 表达式语句
3.1.2 复合语句
3.1.3 声明语句
3.1.4 空语句
3.2 选择结构
3.2.1 if语句
3.2.2 设计多选择结构
3.2.3 switch语句
3.2.4 default从句
3.2.5 优化选择结构
3.3 循环结构
3.3.1 while语句
3.3.2 do-while语句
3.3.3 for语句
3.3.4 for-in语句
3.3.5 优化循环结构
3.4 跳转结构
3.4.1 标签语句
3.4.2 break语句
3.4.3 continue语句
3.5 异常处理结构
3.5.1 throw语句
3.5.2 try-catch-finally语句
3.6 案例实战
3.6.1 把结构语句转换为表达式
3.6.2 优化选择运算性能
3.6.3 优化循环运算性能
3.6.4 设计杨辉三角
3.6.5 编程题
第4章 使用数组
4.1 数组基础
4.1.1 定义数组
4.1.2 定义多维数组
4.1.3 读写数组
4.1.4 数组长度
4.1.5 类数组
4.1.6 检测数组
4.1.7 遍历数组
4.1.8 空位数组
4.2 使用Array
4.2.1 判断数组
4.2.2 增删数组
4.2.3 合并数组
4.2.4 转换为字符串
4.2.5 截取数组
4.2.6 排序数组
4.2.7 定位元素
4.2.8 迭代数组
4.2.9 过滤数组
4.2.10 验证数组
4.2.11 汇总数组
4.3 案例实战
4.3.1 交换变量值
4.3.2 使用关联数组
4.3.3 扩展数组
4.3.4 初始化数组
4.3.5 数组去重
4.4 强化练习
4.4.1 插入排序
4.4.2 二分插入排序
4.4.3 选择排序
4.4.4 冒泡排序
4.4.5 快速排序
4.4.6 计数排序
第5章 使用字符串
5.1 字符串基础
5.1.1 定义字符串
5.1.2 字符串与数组
5.1.3 字符串长度
5.1.4 字符集
5.1.5 Base64转码
5.2 使用String
5.2.1 字符串的表示和值
5.2.2 连接字符串
5.2.3 获取指定位置字符
5.2.4 获取字符的位置
5.2.5 查找字符串
5.2.6 截取字符串
5.2.7 替换字符串
5.2.8 大小写转换
5.2.9 比较字符串
5.2.10 转换为数组
5.2.11 修剪字符串
5.3 案例实战
5.3.1 格式化字符串
5.3.2 字符编码和解码
5.3.3 Unicode编码和解码
5.3.4 字符串智能替换
5.3.5 过滤敏感词
5.3.6 高级加密解密
第6章 使用正则表达式
6.1 新建正则表达式
6.1.1 构造正则表达式
6.1.2 正则表达式直接量
6.2 匹配规则基础
6.2.1 字面量字符和元字符
6.2.2 转义字符
6.2.3 特殊字符
6.2.4 字符类
6.2.5 预定义模式
6.2.6 重复类
6.2.7 量词字符
6.2.8 贪婪模式
6.2.9 修饰字符
6.2.10 模式分组
6.2.11 分组引用
6.2.12 非引用组
6.2.13 声明边界
6.3 使用RegExp
6.3.1 RegExp对象属性
6.3.2 test()
6.3.3 exec()
6.3.4 RegExp静态属性
6.4 案例实战
6.4.1 匹配十六进制颜色值
6.4.2 匹配时间
6.4.3 匹配日期
6.4.4 匹配成对标签
6.4.5 匹配物理路径
6.4.6 货币数字的千位分隔符表示
6.4.7 验证密码
第7章 使用函数
7.1 函数基础
7.1.1 声明函数
7.1.2 定义函数表达式
7.1.3 构造函数
7.1.4 定义嵌套函数
7.1.5 比较函数的定义方法
7.1.6 函数的返回值
7.1.7 函数的参数
7.1.8 调用函数
7.1.9 函数作用域
7.1.10 函数的标识符
7.2 使用arguments
7.2.1 认识arguments对象
7.2.2 使用callee
7.2.3 应用arguments
7.3 使用Function
7.3.1 name属性
7.3.2 length属性
7.3.3 toString()
7.3.4 call()和apply()
7.3.5 bind()
7.4 案例实战
7.4.1 函数调用模式
7.4.2 使用闭包
7.4.3 使用this
7.4.4 函数引用和函数调用
7.4.5 链式调用
7.4.6 使用函数实现历史记录
7.4.7 扩展Function类型
7.4.8 代码的模块模式
7.4.9 惰性实例化
7.4.10 分支函数
7.4.11 惰性载入函数
7.4.12 函数节流
第8章 函数式编程
8.1 函数式编程概述
8.1.1 范畴论
8.1.2 一等公民的函数
8.1.3 纯函数
8.1.4 命令式和声明式
8.1.5 PointFree风格
8.2 函数式基本运算
8.2.1 函数合成
8.2.2 compose实现
8.2.3 函数柯里化
8.2.4 curry实现
8.2.5 curry变体
8.3 函子
8.3.1 认识函子
8.3.2 定义容器
8.3.3 定义函子
8.3.4 Either函子
8.3.5 Applicative函子
8.4 高阶函数
8.4.1 回调函数
8.4.2 返回函数
8.5 递归函数
8.5.1 定义递归函数
8.5.2 尾递归
8.5.3 栈缓存
8.6 案例实战
8.6.1 过滤运算
8.6.2 分组运算
8.6.3 映射运算
8.7 使用Promise对象
第9章 使用对象
9.1 创建对象
9.1.1 使用new运算符
9.1.2 对象直接量
9.1.3 使用create()方法
9.2 对象的基本操作
9.2.1 引用对象
9.2.2 复制对象
9.2.3 克隆对象
9.2.4 销毁对象
9.3 读写属性
9.3.1 定义属性
9.3.2 访问属性
9.3.3 赋值属性
9.3.4 删除属性
9.3.5 对象方法
9.4 使用Object对象
9.4.1 Object函数
9.4.2 Object构造函数
9.4.3 使用Object静态方法
9.4.4 使用Object实例方法
9.5 使用包装对象
9.5.1 包装对象的实例方法
9.5.2 原始类型的自动转换
9.5.3 自定义方法
9.5.4 Boolean对象
9.6 使用属性描述对象
9.6.1 认识属性描述对象
9.6.2 Object.getOwnPropertyDescriptor()
9.6.3 Object.defineProperty()和Object.defineProperties()
9.6.4 元属性
9.6.5 Object.getOwnPropertyNames()
9.6.6 Object.prototype.propertyIsEnumerable()
9.6.7 存取器
9.6.8 对象的拷贝
9.6.9 控制对象状态
9.7 使用Math对象
9.7.1 Math属性
9.7.2 Math方法
9.8 使用Date对象
9.8.1 创建Date对象
9.8.2 日期运算
9.8.3 Date静态方法
9.8.4 Date实例方法
9.9 使用JSON对象
9.9.1 JSON.stringify()
9.9.2 JSON.parse()
9.9.3 比较JSON与XML
9.9.4 优化JSON数据
9.10 使用console对象
9.10.1 浏览器实现
9.10.2 console对象的方法
9.10.3 命令行API
9.10.4 debugger语句
第10章 面向对象编程
10.1 面向对象基础
10.1.1 对象
10.1.2 构造函数
10.1.3 使用new运算符
10.1.4 new运行原理
10.1.5 使用new.target
10.2 使用this
10.2.1 this调用对象
10.2.2 this应用场景
10.2.3 注意事项
10.2.4 绑定this
10.3 使用prototype
10.3.1 定义原型
10.3.2 原型属性和本地属性
10.3.3 应用原型
10.3.4 原型链
10.3.5 原型继承
10.3.6 扩展原型方法
10.3.7 Object.getPrototypeOf()
10.3.8 Object.setPrototypeOf()
10.3.9 Object.create()
10.3.10 Object.prototype.isPrototypeOf()
10.3.11 Object.prototype.__proto__
10.3.12 获取原型对象方法的比较
10.4 继承
10.4.1 Object.getOwnPropertyNames()
10.4.2 Object.prototype.hasOwnProperty()
10.4.3 in运算符和for-in循环
10.4.4 对象的拷贝
10.5 面向对象编程模式
10.5.1 构造函数的继承
10.5.2 多重继承
10.5.3 模块
10.6 案例实战
10.6.1 设计工厂模式
10.6.2 设计类继承
10.6.3 设计构造原型模式
10.6.4 设计动态原型模式
10.6.5 设计实例继承
10.6.6 惰性实例化
10.6.7 安全构造对象
第11章 BOM操作
11.1 window对象
11.1.1 window对象属性
11.1.2 window对象方法
11.1.3 window对象事件
11.1.4 访问浏览器对象
11.1.5 全局作用域
11.1.6 使用人机互动方法
11.1.7 打开和关闭窗口
11.1.8 使用框架集
11.1.9 控制窗口位置
11.1.10 控制窗口大小
11.2 navigator对象
11.2.1 navigator对象属性
11.2.2 浏览器检测方法
11.2.3 检测浏览器类型和版本号
11.2.4 检测客户操作系统
11.2.5 检测插件
11.3 location对象
11.4 history对象
11.4.1 实现无刷新浏览
11.4.2 设计导航页面
11.4.3 设计无刷新网站
11.4.4 设计无刷新灯箱广告
11.4.5 设计可后退画板
11.5 screen对象
11.6 document对象
11.6.1 document对象属性
11.6.2 document对象方法
11.7 案例实战
11.7.1 使用远程脚本
11.7.2 设计远程交互
11.7.3 使用浮动框架
11.7.4 封装用户代理检测
第12章 DOM操作
12.1 DOM版本概述
12.2 节点
12.2.1 节点类型
12.2.2 节点名称和值
12.2.3 节点树
12.2.4 访问节点
12.2.5 操作节点
12.3 文档
12.3.1 访问文档节点和子节点
12.3.2 访问文档信息
12.3.3 访问文档元素
12.3.4 访问文档集合
12.3.5 使用HTML5 Document
12.4 元素
12.4.1 访问元素
12.4.2 遍历元素
12.4.3 创建元素
12.4.4 复制节点
12.4.5 插入节点
12.4.6 删除节点
12.4.7 替换节点
12.4.8 获取焦点元素
12.4.9 检测包含节点
12.5 文本
12.5.1 访问文本节点
12.5.2 创建文本节点
12.5.3 操作文本节点
12.5.4 读取HTML字符串
12.5.5 插入HTML字符串
12.5.6 替换HTML字符串
12.5.7 插入文本
12.6 文档片段
12.7 属性
12.7.1 访问属性节点
12.7.2 读取属性值
12.7.3 设置属性值
12.7.4 删除属性
12.7.5 使用类选择器
12.7.6 自定义属性
12.8 CSS选择器
12.9 范围
12.9.1 创建范围
12.9.2 选择范围
12.9.3 设置范围
12.9.4 操作范围内容
12.9.5 插入范围内容
12.9.6 折叠范围
12.9.7 比较范围
12.9.8 复制和清除范围
12.10 案例实战
12.10.1 异步加载远程数据
12.10.2 使用script设计异步交互
12.10.3 使用JSONP异步通信
12.10.4 访问DOM集合
12.10.5 编辑选择文本
第13章 事件操作
13.1 事件基础
13.1.1 JavaScript事件发展历史
13.1.2 事件模型
13.1.3 事件传播
13.1.4 事件类型
13.1.5 绑定事件
13.1.6 事件监听函数
13.1.7 注册事件
13.1.8 销毁事件
13.1.9 event对象
13.1.10 事件委托
13.2 自定义事件
13.2.1 设计弹出对话框
13.2.2 设计遮罩层
13.2.3 自定义事件
13.2.4 设计事件触发模型
13.2.5 应用事件模型
13.3 鼠标事件
13.3.1 click和dblclick
13.3.2 mouseup、mousedown和mousemove
13.3.3 mouseover和mouseenter
13.3.4 mouseout和mouseleave
13.3.5 contextmenu
13.4 MouseEvent对象
13.4.1 altKey、ctrlKey、metaKey和shiftKey
13.4.2 button和buttons
13.4.3 clientX、clientY、movementX、movementY、screenX和screenY
13.4.4 relatedTarget
13.4.5 小结
13.5 wheel事件
13.6 键盘事件
13.6.1 altKey、ctrlKey、metaKey和shiftKey
13.6.2 key和charCode
13.6.3 小结
13.7 进度事件
13.8 拖曳事件
13.8.1 事件种类
13.8.2 DataTransfer对象概述
13.8.3 DataTransfer对象的属性
13.8.4 DataTransfer对象的方法
13.9 触摸事件
13.9.1 Touch对象
13.9.2 TouchList对象
13.9.3 TouchEvent对象
13.9.4 触摸事件的种类
13.10 表单事件
13.10.1 input
13.10.2 select
13.10.3 change
13.10.4 submit
13.10.5 reset
13.11 文档事件
13.11.1 beforeunload、unload、load、error、pageshow和pagehide
13.11.2 DOMContentLoaded和readystatechange
13.11.3 scroll
13.11.4 resize
13.11.5 hashchange和popstate
13.11.6 cut、copy和paste
13.11.7 focus、blur、focusin和focusout
第14章 CSS操作
14.1 CSS脚本基础
14.1.1 访问行内样式
14.1.2 使用style
14.1.3 使用styleSheets
14.1.4 使用selectorText
14.1.5 修改样式
14.1.6 添加样式
14.1.7 访问渲染样式
14.1.8 访问媒体查询
14.1.9 CSS事件
14.2 CSS尺寸
14.2.1 访问CSS宽度和高度
14.2.2 把值转换为整数
14.2.3 使用offsetWidth和offsetHeight
14.2.4 元素尺寸
14.2.5 视图尺寸
14.2.6 窗口尺寸
14.3 CSS位置
14.3.1 窗口位置
14.3.2 相对位置
14.3.3 定位位置
14.3.4 设置偏移位置
14.3.5 设置相对位置
14.3.6 鼠标指针绝对位置
14.3.7 鼠标指针相对位置
14.3.8 滚动条位置
14.3.9 设置滚动条位置
14.4 CSS显示
14.4.1 设置显隐效果
14.4.2 设置渐隐、渐显效果
14.5 CSS动画
14.5.1 使用定时器
14.5.2 滑动
14.5.3 渐显
14.5.4 使用requestAnimationFrame
第15章 JavaScript通信
15.1 XMLHttpRequest 1.0基础
15.1.1 定义XMLHttpRequest对象
15.1.2 建立XMLHttpRequest连接
15.1.3 发送GET请求
15.1.4 发送POST请求
15.1.5 转换串行化字符串
15.1.6 跟踪状态
15.1.7 中止请求
15.1.8 获取XML数据
15.1.9 获取HTML文本
15.1.10 获取JavaScript脚本
15.1.11 获取JSON数据
15.1.12 获取纯文本
15.1.13 获取头部信息
15.2 XMLHttpRequest 2.0基础
15.2.1 请求时限
15.2.2 FormData数据对象
15.2.3 上传文件
15.2.4 跨域访问
15.2.5 响应不同类型数据
15.2.6 接收二进制数据
15.2.7 监测数据传输进度
15.3 案例实战
15.3.1 接收ArrayBuffer对象
15.3.2 接收Blob对象
15.3.3 发送字符串
15.3.4 发送表单数据
15.3.5 发送二进制文件
15.3.6 发送Blob对象
15.3.7 跨域请求
15.3.8 设计文件上传进度条
15.4 跨文档消息传递
15.4.1 postMessage基础
15.4.2 案例:设计简单的跨域通话
15.4.3 案例:设计跨域动态对话
15.4.4 案例:设计通道通信
15.5 WebSockets通信
15.5.1 WebSocket基础
15.5.2 使用WebSockets API
15.5.3 在PHP中建立socket
15.5.4 WebSockets API开发框架
15.5.5 案例:设计简单的“呼-应”通信
15.5.6 案例:发送JSON对象
15.5.7 案例:使用Workerman框架通信
15.5.8 案例:推送信息
第16章 JavaScript数据存储
16.1 HTTP Cookie
16.1.1 写入cookie信息
16.1.2 读取cookie信息
16.1.3 修改和删除cookie信息
16.1.4 附加cookie信息
16.1.5 Http-Only Cookie
16.1.6 封装cookie操作
16.1.7 案例实战
16.2 Web Storage
16.2.1 使用Web Storage
16.2.2 案例:设计登录页
16.2.3 案例:流量统计
16.3 Web SQL Database
16.3.1 使用Web SQL Database
16.3.2 案例:设计登录页
16.3.3 案例:设计留言板
16.4 indexedDB
16.4.1 建立连接
16.4.2 更新版本
16.4.3 新建仓库
16.4.4 新建索引
16.4.5 使用事务
16.4.6 保存数据
16.4.7 访问数据
16.4.8 访问键值
16.4.9 访问属性
16.5 案例:设计录入表单
第17章 JavaScript图形设计
17.1 使用canvas
17.2 绘制图形
17.2.1 矩形
17.2.2 路径
17.2.3 直线
17.2.4 圆弧
17.2.5 二次方曲线
17.2.6 三次方曲线
17.3 定义样式和颜色
17.3.1 颜色
17.3.2 不透明度
17.3.3 实线
17.3.4 虚线
17.3.5 线性渐变
17.3.6 径向渐变
17.3.7 图案
17.3.8 阴影
17.3.9 填充规则
17.4 图形变形
17.4.1 保存和恢复状态
17.4.2 清除画布
17.4.3 移动坐标
17.4.4 旋转坐标
17.4.5 缩放图形
17.4.6 变换图形
17.5 图形合成
17.5.1 合成
17.5.2 裁切
17.6 绘制文本
17.6.1 填充文字
17.6.2 轮廓文字
17.6.3 文本样式
17.6.4 测量宽度
17.7 使用图像
17.7.1 导入图像
17.7.2 缩放图像
17.7.3 裁切图像
17.7.4 平铺图像
17.8 像素操作
17.8.1 认识ImageData对象
17.8.2 创建图像数据
17.8.3 将图像数据写入画布
17.8.4 在画布中复制图像数据
17.8.5 保存图片
17.9 Path2D对象
17.9.1 Canvas 2D API新功能
17.9.2 使用Path2D对象
17.10 案例实战
17.10.1 设计基本动画
17.10.2 颜色选择器
17.10.3 给图像去色
17.10.4 缩放图像和反锯齿处理
17.10.5 设计运动动画
17.10.6 设计地球和月球公转动画
第18章 JavaScript文件操作
18.1 FileList
18.2 Blob
18.2.1 访问Blob
18.2.2 创建Blob
18.2.3 截取Blob
18.2.4 保存Blob
18.3 FileReader
18.3.1 读取文件
18.3.2 事件监测
18.4 ArrayBuffer和ArrayBufferView
18.4.1 使用ArrayBuffer
18.4.2 使用ArrayBufferView
18.4.3 使用DataView
18.5 FileSystem API
18.5.1 认识FileSystem API
18.5.2 访问FileSystem
18.5.3 申请配额
18.5.4 新建文件
18.5.5 写入数据
18.5.6 添加数据
18.5.7 读取数据
18.5.8 复制文件
18.5.9 删除文件
18.5.10 创建目录
18.5.11 读取目录
18.5.12 删除目录
18.5.13 复制目录
18.5.14 重命名目录
18.5.15 使用filesystem:URL
18.6 案例:设计资源管理器
第19章 案例实战
19.1 设计折叠面板
19.2 设计计算器
19.3 设计日历
19.4 设计验证插件
19.5 设计俄罗斯方块
附录
附录A ECMAScript 6
附录B 使用SVG
附录C CORS通信
附录D 同源策略
附录E Mutation Observer API
附录F JavaScript编程风格
附录CD
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜