您好,欢迎来到聚文网。 登录 免费注册
JavaScript网页编程从入门到精通

JavaScript网页编程从入门到精通

Javascript 网页编程 入门热销 书籍 web 前端开发名作 478节同步视频讲解 166个实战案例 2个大型综合实战案例 380套网页模板 30部工具集 609项配色 13类设计素材 1770个应用案例 1036道面试题和训练题 10张思维导图 1部参考手册
  • 字数: 1753000.0
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 作者: 杨凡 编著 著
  • 出版日期: 2017-10-01
  • 商品条码: 9787302421924
  • 版次: 1
  • 开本: 16开
  • 页数: 956
  • 出版年份: 2017
定价:¥118 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
《JavaScript网页编程从入门到精通》一书从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用JavaScript语言进行程序开发应该掌握的各方面技术。《JavaScript网页编程从入门到精通》共分28章,具体内容包括JavaScript概述、基本语法、函数、JavaScript对象与数组、字符串处理、正则表达式、函数式编程、面向对象编程、浏览器对象模型、事件处理、文档对象模型、客户端存储、脚本化CSS、JavaScript中的XML和JSON、JavaScript通信、HTML5新技术等。所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以帮助读者轻松领会JavaScript语言精髓,快速提高开发技能。《JavaScript网页编程从入门到精通》适用于从未接触过网页制作的初级读者,以及有一定网页制作基础,想灵活使用Dreamweaver、Flash和Photoshop软件以提高制作技能的中级读者自学使用,也可作为高等院校计算机专业以及相关培训班的教学用书。
作者简介
杨凡,资深Web技术专家,有10余年开发经验,是国内较早专业从事Web开发的一线技术人员和培训讲师。一直致力于对HTML5、JavaScript、CSS3、jQuery、jQUery Mobile等Web开发技术的研究和实践,在HTML页面的优化与用户体验的研究,以及页面框架搭建、数据流向分析、页面静态优化等方面都拥有丰富的实践经验。他还是微软技术方面的专家,精通C#、ASP.NET和SQL Server等技术。
目录
第1章JavaScript概述
1.1JavaScript发展历史
1.1.1第一个网页脚本语言
1.1.2Netscape发明了JavaScript
1.1.3三足鼎立
1.1.4ECMAScript诞生
1.2JavaScript版本
1.3ECMAScript概述
1.3.1ECMAScript和JavaScript的关系
1.3.2ECMAScript发展历史
1.4JavaScript实现
1.4.1JavaScript核心
1.4.2文档对象模型
1.4.3浏览器对象模型
1.5JavaScript开发工具
1.5.1JavaScript编辑器
1.5.2JavaScript测试和调试
第2章在网页中使用JavaScript
视频讲解:51分钟
2.1使用<script>标签
2.1.1编写第一个JavaScript程序
2.1.2脚本位置
2.1.3延迟执行脚本
2.1.4异步响应脚本
2.1.5在XHTML中使用JavaScript脚本
2.1.6兼容不支持JavaScript的浏览器
2.2比较嵌入代码与链接脚本
2.3使用<noscript>标签
2.4JavaScript执行顺序
2.4.1正常执行顺序
2.4.2预编译提前
2.4.3代码块的执行顺序
2.4.4事件响应顺序
2.4.5动态输出脚本字符串
2.5浏览器与JavaScript
2.5.1浏览器内核
2.5.2浏览器错误报告
2.6JavaScript错误处理
2.6.1使用try—catch
2.6.2使用finally
2.6.3错误类型
2.6.4抛出错误
2.6.5案例:设计抛出错误时机
2.6.6错误事件
2.6.7错误类型
2.6.8案例:记录错误
2.7JavaScript代码调试
2.7.1使用控制台
2.7.2显示错误信息
2.7.3抛出错误
2.7.4IE错误
第3章JavaScript基本语法
视频讲解:36分钟
3.1词法基础
3.1.1字符编码
3.1.2大小写敏感
3.1.3标识符
3.1.4直接量
3.1.5关键字和保留字
3.1.6分隔符
3.1.7注释
3.1.8转义序列
3.2句法基础
3.2.1认识词、句和段
3.2.2分号
3.2.3大括号
第4章数据、类型和变量
视频讲解:109分钟
4.1JavaScript数据类型概述
4.1.1JavaScript数据类型的特点
4.1.2JavaScript的基本数据类型
4.1.3值类型和引用类型
4.2值类型数据
4.2.1数值
4.2.2字符串
4.2.3布尔值
4.2.4Null
4.2.5Undefined
4.3引用型数据
4.3.1数组
4.3.2对象
4.3.3函数
4.4数据类型检测
4.4.1使用typeof
4.4.2使用constructor
4.4.3案例:在框架窗口检测数组类型
4.4.4案例:设计完善的数据类型检测工具
4.5数据类型转换
4.5.1值类型转换
4.5.2引用型转换
4.5.3转换为字符串
4.5.4案例:转换数字模式
4.5.5案例:设置数字转换为字符串的小数位数
4.5.6转换为数字
4.5.7转换为布尔值
4.5.8案例:装箱和拆箱
4.5.9案例:强制转换
4.6使用变量
4.6.1声明变量
4.6.2变量的作用域
4.6.3变量的作用域链
4.6.4变量回收
4.6.5案例:变量污染
4.7案例实战
4.7.1代码题
4.7.2编程题
第5章运算符和表达式
视频讲解:113分钟
5.1运算符和表达式概述
5.1.1认识运算符
5.1.2使用运算符
5.1.3认识表达式
5.1.4案例:优化表达式
5.2位运算符
5.2.1位运算概述
5.2.2逻辑位运算
5.2.3移位运算
5.3算术运算符
5.3.1加法运算
5.3.2减法运算
5.3.3乘法运算
5.3.4除法运算
5.3.5余数运算
5.3.6取反运算
5.3.7递增和递减
5.4逻辑运算符
5.4.1逻辑与运算符
5.4.2逻辑或运算符
5.4.3逻辑非运算符
5.4.4案例:逻辑运算训练
5.5关系运算符
5.5.1大小比较
5.5.2案例:包含检测
5.5.3案例:等值检测
5.6赋值运算符
5.7对象操作运算符
5.7.1new运算符
5.7.2delete运算符
5.7.3中括号和点号运算符
5.7.4小括号运算符
5.8其他运算符
5.8.1条件运算符
5.8.2逗号运算符
5.8.3void运算符
5.8.4typeof运算符
5.9案例实战
5.9.1表达式计算
5.9.2表达式描述
5.9.3编程题
第6章语句和结构
视频讲解:122分钟
6.1语句概述
6.2简单语句
6.2.1表达式语句
6.2.2复合语句
6.2.3声明语句
6.2.4空语句
6.3分支结构
6.3.1if语句
6.3.2条件嵌套
6.3.3案例:优化条件结构
6.3.4案例:条件误用
6.3.5switch语句
6.3.6default从句
6.3.7案例:比较if和switch
6.3.8案例:优化分支结构
6.4循环结构
6.4.1while语句
6.4.2do/while语句
6.4.3for语句
6.4.4for/in语句
6.4.5案例:使用for/in
6.4.6案例:比较while和for
6.4.7案例:优化循环结构
6.5结构跳转
6.5.1标签语句
6.5.2break语句
6.5.3continue语句
6.6异常处理
6.6.1异常概述
6.6.2throw语句
6.6.3try/catch/finally语句
6.6.4案例:改变作用域链
6.7函数结构
6.7.1function语句
6.7.2return语句
6.8with语句
6.9案例实战
6.9.1编程题
6.9.2提升条件检测性能
6.9.3提升循环迭代性能
6.9.4设计杨辉三角
第7章操作字符串
视频讲解:93分钟
7.1定义字符串
7.1.1字符串直接量
7.1.2构造字符串
7.1.3使用字符编码
7.2使用字符串
7.2.1案例:计算字符串长度
7.2.2案例:连接字符串
7.2.3案例:查找字符串
7.2.4案例:截取子字符串
7.2.5案例:编辑字符串
7.2.6案例:灵活使用replace()方法
7.2.7案例:比较字符串
7.2.8案例:把字符串转换为数组
7.2.9案例:字符串的类型和值
7.2.10案例:格式化字符串
7.3案例实战
7.3.1修剪字符串
7.3.2检测特殊字符
7.3.3优化字符串连接
7.4加密和解密
7.4.1JavaScript编码和解码
7.4.2案例:Unicode编码
7.4.3案例:Unicode解码
7.4.4综合实战:自定义加密和解密方法
第8章使用正则表达式
视频讲解:102分钟
8.1认识正则表达式
8.2定义正则表达式
8.2.1构造正则表达式
8.2.2正则表达式直接量
8.3字符匹配
8.3.1认识普通字符和元字符
8.3.2字符直接量
8.3.3简单字符类
8.3.4反义字符类
8.3.5字符范围类
8.3.6预定义字符类
8.4重复匹配
8.4.1简单重复性匹配
8.4.2贪婪匹配
8.4.3惰性匹配
8.4.4支配匹配
8.5高级匹配
8.5.1分组
8.5.2案例:分组应用
8.5.3引用
8.5.4案例:非引用型分组
8.5.5选择
8.5.6声明
8.5.7边界
8.5.8锚记
8.5.9标志
8.6使用RegExp对象
8.6.1实例属性
8.6.2静态属性
8.6.3案例应用
8.7综合案例:设计表单验证
第9章操作数组
视频讲解:134分钟
9.1定义数组
9.1.1构造数组
9.1.2数组直接量
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.3.6案例:数组与字符串转换
9.4案例实战
9.4.1快速交换
9.4.2数组下标
9.4.3扩展数组方法
9.4.4设计迭代器
9.4.5使用迭代器
9.4.6使用数组维度
9.5综合实践:排序算法设计
9.5.1插入排序
9.5.2二分插入排序
9.5.3选择排序
9.5.4冒泡排序
9.5.5快速排序
9.5.6计数排序
第10章使用对象
视频讲解:79分钟
10.1认识对象
10.2对象分类
10.2.1原生对象
10.2.2宿主对象
10.3对象基本操作
10.3.1创建对象
10.3.2引用对象
10.3.3销毁对象
10.4属性基本操作
10.4.1定义属性
10.4.2访问属性
10.4.3赋值和删除属性
10.4.4对象方法
10.5原生对象类型
10.5.1构造对象
10.5.2实例对象
10.5.3原型对象
10.6使用构造器
10.7使用对象基本方法
10.7.1案例:重写toString
10.7.2案例:重写valueOf
10.7.3案例:检测私有属性
10.7.4案例:检测枚举属性
10.7.5案例:检测原型对象
10.8使用原生对象
10.8.1Global对象
10.8.2Math对象
10.8.3Date对象
10.9综合案例:设计计算器
第11章使用函数
视频讲解:117分钟
11.1认识函数
11.1.1函数是代码块
11.1.2函数是数据
11.1.3函数是对象
11.2定义函数
11.2.1构造函数
11.2.2函数直接量
11.2.3定义嵌套函数
11.3案例:优化函数定义
11.3.1函数作用域
11.3.2解析机制
11.3.3兼容性和灵活性
11.4使用函数
11.4.1函数返回值
11.4.2调用函数
11.4.3函数生命周期
11.4.4函数作用域
11.5使用参数
11.5.1认识形参和实参
11.5.2使用Arguments对象
11.5.3使用callee回调函数
11.5.4案例实战
11.6使用Function对象
11.6.1获取函数形参个数
11.6.2自定义属性
11.6.3案例:使用call()和apply()
11.7函数解析机制
11.7.1词法作用域与执行作用域
11.7.2执行上下文和作用域链
11.7.3调用对象
11.8函数中的this
11.8.1案例:认识this
11.8.2案例:使用this
11.8.3案例:this安全策略
11.8.4案例:this应用
11.9案例实战
11.9.1函数调用模式
11.9.2扩展函数方法
11.9.3绑定函数
11.9.4链式语法
11.9.5函数节流
11.9.6使用Arguments模拟重载
第12章函数式编程
视频讲解:116分钟
12.1函数式编程概述
12.1.1函数是第一型
12.1.2函数是运算元
12.1.3函数是数据闭包
12.2表达式运算
12.2.1连续运算
12.2.2把命令转换为表达式
12.2.3表达式中的函数
12.3递归运算
12.3.1认识递归
12.3.2案例:Hanoi(汉诺)塔算法
12.3.3案例:尾递归算法
12.3.4案例:Fibonacci(斐波那契)数列
12.3.5递归算法的优化
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.4.10案例:闭包存储器
12.4.11案例:事件处理中闭包应用
12.4.12综合案例:设计折叠面板
12.4.13案例:在循环体和异步回调中慎重使用闭包
12.5案例实战
12.5.1惰性求值
12.5.2记忆
12.5.3套用
12.5.4模块化
12.5.5柯里化
12.5.6高阶函数
第13章面向对象编程
视频讲解:109分钟
13.1认识类
13.2定义类
13.2.1案例:工厂模式
13.2.2案例:构造函数模式
13.2.3案例:原型模式
13.2.4案例:构造函数原型模式
13.2.5案例:动态原型模式
13.3接口
13.3.1认识接口
13.3.2定义接口
13.3.3使用建议
13.4原型模型
13.4.1认识prototype
13.4.2定义原型
13.4.3案例:原型属性和本地属性
13.4.4案例:应用原型
13.4.5认识原型域和原型域链
13.4.6原型副作用
13.5继承
13.5.1认识JavaScript继承机制
13.5.2原型继承
13.5.3类继承
13.5.4案例:封装类继承模式
13.5.5实例继承
13.5.6复制继承
13.5.7克隆继承
13.5.8混合继承
13.5.9多重继承
13.5.10掺元类
13.6封装
13.6.1被动封装
13.6.2主动封装
13.6.3静态方法
13.7多态
13.7.1案例:方法重载和覆盖
13.7.2案例:类的多态
13.8构造和析构
13.8.1案例:构造函数
13.8.2案例:析构函数
13.9案例实战
13.9.1惰性实例化
13.9.2安全构造对象
13.9.3设计超类和子类
13.9.4设计元类
13.9.5分支函数
13.9.6惰性载入函数
第14章BOM
视频讲解:43分钟
14.1认识BOM
14.2使用Window对象
14.2.1全局作用域
14.2.2Window对象生命周期
14.2.3人机交互接口
14.2.4案例:控制弹出窗口
14.2.5案例:框架集通信
14.3使用Navigator对象
14.3.1了解浏览器检测方法
14.3.2案例:检测浏览器类型和版本
14.3.3案例:检测客户端操作系统
14.4使用Location和History对象
14.4.1案例:使用Location对象
14.4.2使用History对象
14.5使用Screen对象
14.5.1案例:使用Screen对象控制窗口大小
14.5.2案例:使用Window对象控制窗口大小
14.6使用Document对象
14.6.1认识Document
14.6.2使用0级文档模型操作文档
14.6.3案例:动态生成文档
第15章DOM
视频讲解:116分钟
15.1认识DOM
15.2使用节点
15.2.1节点类型
15.2.2节点名称和值
15.2.3节点关系
15.2.4案例:访问节点
15.2.5案例:操作节点
15.3使用文档节点
15.3.1访问文档子节点
15.3.2访问文档信息
15.3.3访问文档元素
15.3.4使用HTML5Document
15.4使用元素节点
15.4.1访问元素
15.4.2案例:遍历元素
15.4.3创建元素
15.4.4案例:复制节点
15.4.5案例:插入节点
15.4.6案例:删除节点
15.4.7案例:替换节点
15.5使用文本节点
15.5.1访问文本节点
15.5.2创建文本节点
15.5.3操作文本节点
15.5.4读取HTML字符串
15.5.5案例:插入HTML字符串
15.5.6案例:替换HTML字符串
15.5.7案例:插入文本
15.6使用文档片段节点
15.7使用属性节点
15.7.1访问属性节点
15.7.2案例:读取属性值
15.7.3案例:设置属性值
15.7.4案例:删除属性
15.7.5案例:使用类选择器
15.7.6自定义属性
15.8使用范围
15.8.1创建范围
15.8.2案例:选择范围
15.8.3案例:设置范围
15.8.4案例:操作范围内容
15.8.5案例:插入范围内容
15.9使用CSS选择器
第16章事件处理
视频讲解:93分钟
16.1事件概述
16.1.1事件模型分类
16.1.2事件流
16.1.3事件类型
16.2基本事件模型
16.2.1基本事件类型
16.2.2绑定事件
16.2.3事件处理函数的返回值
16.2.4事件处理函数的参数
16.2.5事件处理函数中的this
16.3标准事件模型
16.3.1事件传播
16.3.2注册事件
16.3.3注销事件
16.3.4事件类型
16.3.5Event对象
16.4IE事件模型
16.4.1注册和销毁事件
16.4.2Event对象
16.5鼠标事件开发
16.5.1鼠标点击
16.5.2案例:鼠标移动
16.5.3案例:鼠标经过
16.5.4案例:鼠标来源
16.5.5案例:鼠标定位
16.5.6鼠标按键
16.6键盘事件开发
16.6.1认识键盘事件的属性
16.6.2键盘事件响应顺序
16.7页面事件开发
16.7.1页面初始化
16.7.2结构初始化
16.7.3页面卸载
16.7.4窗口重置
16.7.5页面滚动
16.7.6错误处理
16.8UI事件开发
16.9表单事件开发
16.9.1选择文本
16.9.2监测值变化
16.9.3提交表单
16.9.4重置表单
16.10案例实战:自定义事件
16.10.1设计弹出对话框
16.10.2设计遮罩层
16.10.3定义事件雏形
16.10.4设计事件触发模型
16.10.5应用事件模型
第17章脚本化CSS
视频讲解:117分钟
17.1脚本化CSS概述
17.1.1认识CSS脚本属性
17.1.2CSS样式模型概述
17.2操作行内样式
17.2.1CSS脚本属性名规范
17.2.2使用style对象
17.3操作样式表
17.3.1使用styleSheets对象
17.3.2访问样式表中的样式
17.3.3读取样式的选择符
17.3.4编辑样式
17.3.5添加样式
17.3.6访问显示样式
17.4控制大小
17.4.1案例:从样式表中读取宽度和高度
17.4.2案例:把样式属性值转换为实际值
17.4.3案例:使用offsetWidth和offsetHeight
17.4.4案例:复杂环境下的元素尺寸
17.4.5案例:可视区域尺寸
17.4.6案例:浏览器窗口尺寸
17.5位移和定位
17.5.1案例:获取窗口位置
17.5.2案例:获取相对包含框的位置
17.5.3案例:获取定位包含框的位置
17.5.4案例:设置元素的偏移位置
17.5.5案例:设置元素的相对位置
17.5.6案例:获取鼠标指针的页面位置
17.5.7案例:获取鼠标指针在元素内的位置
17.5.8案例:获取页面滚动条的位置
17.5.9案例:设置页面滚动条的位置
17.6显示和隐藏
17.6.1案例:可见性
17.6.2案例:透明度
17.7设计动画
17.7.1定时器
17.7.2案例:滑动
17.7.3案例:渐隐渐显
第18章HTML5动画设计
视频讲解:84分钟
18.1HTML5canvas概述
18.1.1在页面中添加canvas元素
18.1.2Canvas如何绘制图形
18.1.3认识Canvas坐标
18.1.4何时不用Canvas
18.1.5如果浏览器不支持Canvas
18.1.6检测浏览器支持
18.2绘制基本图形
18.2.1绘制直线
18.2.2绘制矩形
18.2.3绘制圆形
18.2.4绘制三角形
18.2.5清空画布
18.3绘制曲线
18.3.1绘制二次方贝塞尔曲线
18.3.2绘制三次方贝塞尔曲线
18.4变换图形
18.4.1保存与恢复Canvas状态
18.4.2移动坐标空间
18.4.3旋转坐标空间
18.4.4缩放图形
18.4.5矩阵变换
18.5组合和裁切图形
18.5.1组合图形
18.5.2裁切路径
18.6定义颜色和样式
18.6.1应用线型
18.6.2绘制线性渐变
18.6.3绘制径向渐变
18.6.4绘制图案
18.6.5设置图形的透明度
18.6.6创建阴影
18.7绘制文字
18.7.1绘制填充文字
18.7.2设置文字属性
18.7.3绘制轮廓文字
18.7.4测量文字宽度
18.8嵌入图像
18.8.1向Canvas中引入图像
18.8.2改变图像大小
18.8.3创建图像切片
第19章Web存储
视频讲解:69分钟
19.1Cookie概述
19.1.1认识Cookie
19.1.2Cookie字符串
19.2存取Cookie
19.2.1写入Cookie
19.2.2设置Cookie有效期
19.2.3设置Cookie的域和路径
19.2.4设置Cookie安全传输
19.2.5案例:完善写入Cookie方法
19.2.6读取Cookie信息
19.2.7修改和删除Cookie信息
19.2.8Cookie的局限性及其突破
19.3综合案例:Cookie应用
19.3.1封装Cookie
19.3.2打字游戏
19.4WebStorage概述
19.4.1Cookie存储机制的优缺点
19.4.2为什么要用WebStorage
19.4.3WebStorage的优势和缺点
19.4.4浏览器支持概述
19.5使用WebStorage
19.5.1检查浏览器的支持性
19.5.2设置和获取数据
19.5.3防止数据泄露
19.5.4WebStorage其他用法
19.5.5WebStorage事件监测
19.5.6案例1:设计网页皮肤
19.5.7案例2:跟踪localStorage数据
19.5.8案例3:设计计数器
19.5.9综合案例:Web应用项目实时跟踪
19.6WebSQL数据库
19.6.1WebSQL数据库概述
19.6.2使用WebSQL数据库
19.6.3实例1:创建简单的本地数据库
19.6.4实例2:批量存储本地数据
19.6.5综合案例:WebStorage和WebSQL混合开发
第20章JavaScript通信
视频讲解:69分钟
20.1HTTP概述
20.2使用隐藏框架
20.2.1认识隐藏框架
20.2.2案例:使用隐藏框架
设计异步交互
20.2.3使用iframe
20.3使用JSONP
20.3.1认识<script>标签
20.3.2案例:脚本化script元素
20.3.3案例:传递参数
20.3.4案例:设计响应类型
20.4使用Ajax
20.4.1认识XMLHttpRequest
20.4.2定义XMLHttpRequest对象
20.4.3建立XMLHttpRequest连接
20.5发送请求
20.5.1发送GET请求
20.5.2发送POST请求
20.5.3案例:把数据转换为串行字符串
20.6异步监测
20.6.1跟踪状态
20.6.2中止请求
20.7获取响应
20.7.1XML
20.7.2HTML
20.7.3JavaScript
20.7.4JSON
20.7.5Text
20.7.6获取头部消息
20.8案例实战
20.8.1封装异步交互
20.8.2设计动态响应的Tab面板
20.8.3使用灯标
第21章XML
视频讲解:26分钟
21.1XML概述
21.2XML文档对象模型
21.2.1认识XMLDOM
21.2.2读取XML
21.3在IE中操作XML
21.3.1创建XMLDOM对象
21.3.2加载XML数据
21.3.3错误处理
21.4使用DOM2操作XML
21.4.1创建XMLDOM对象
21.4.2加载XML数据
21.4.3读取XML数据
21.5使用XPath
21.5.1熟悉XPath基本语法
21.5.2IE中的XPath
21.5.3DOM3中的XPath
21.6案例实战
21.6.1在网页中显示XML数据
21.6.2异步加载XML数据
第22章JSON
22.1JSON概述
22.2比较JSON与XML
22.3JSON语法
22.3.1简单值
22.3.2对象
22.3.3数组
22.4JSON解析和序列化
22.5案例:优化JSON数据
第23章ECMAScript5
视频讲解:74分钟
23.1ECMAScript5概述
23.2浏览器支持
23.3严格模式
23.3.1启用严格模式
23.3.2严格模式的执行限制
23.4JSON
23.4.1案例:解析JSON
23.4.2案例:序列化JSON
23.5Object
23.5.1创建对象
23.5.2定义属性
23.5.3访问属性
23.5.4配置属性的特性
23.5.5检测属性的特性
23.6Array
23.6.1定位
23.6.2迭代
23.6.3汇总
23.7Function和String
第24章ECMAScript6
24.1ECMAScript6概述
24.1.1兼容性
24.1.2使用ECMAScript6
24.2变量
24.2.1let命令
24.2.2const命令
24.2.3数组解构赋值
24.2.4对象解构赋值
24.2.5案例:解构应用
24.3字符和字符串
24.3.1字符
24.3.2字符串
24.3.3模板字符串
24.4数值
24.4.1进制表示
24.4.2Number方法
24.4.3Math方法
24.5数组
24.5.1转换
24.5.2实例
24.5.3推导
24.5.4监听
24.6对象
24.6.1新增方法
24.6.2原型方法
24.6.3增强语法
24.6.4属性名表达式
24.6.5符号数据
24.6.6代理防护层
24.6.7监听
24.7函数
24.7.1默认值
24.7.2rest参数
24.7.3扩展运算符
24.7.4箭头函数
24.8数据结构
24.8.1Set
24.8.2WeakSet
24.8.3Map
24.8.4WeakMap
24.9循环遍历
24.9.1遍历器
24.9.2for/of循环
24.10状态机
24.10.1使用Generator函数
24.10.2next()方法
24.10.3异步操作
24.10.4forof循环
24.10.5throw方法
24.10.6yield*语句
24.11预处理
24.11.1基本用法
24.11.2then()方法
24.11.3catch()方法
24.11.4all()和race()方法
24.11.5resolve()和reject()方法
24.11.6async函数
24.12类和模块
24.12.1类
24.12.2模块
第25章移动定位
25.1位置信息概述
25.1.1为什么要学习Geolocation
25.1.2位置信息表示方式
25.1.3位置信息来源
25.1.4IP定位
25.1.5GPS定位
25.1.6Wi—Fi定位
25.1.7手机定位
25.1.8自定义定位
25.2使用GeolocationAPI
25.2.1检查浏览器支持性
25.2.2获取当前地理位置
25.2.3监视位置信息
25.2.4停止获取位置信息
25.2.5隐私保护
25.2.6处理位置信息
25.2.7使用position对象
25.3案例实战
25.3.1使用Google地图
25.3.2跟踪行走速度
第26章多线程处理
视频讲解:25分钟
26.1WebWorkers概述
26.1.1认识WebWorkers
26.1.2浏览器支持概述
26.1.3熟悉WebWorkers成员
26.2使用WebWorkers
26.2.1检查浏览器支持性
26.2.2创建WebWorkers
26.2.3与WebWorkers通信
26.2.4案例:使用WebWorkers
26.3案例实战
26.3.1使用多线程实现后台运算
26.3.2在后台过滤值
26.3.3多任务并发处理
26.3.4在多线程之间通信
26.3.5使用线程技术计算Fibonacci数列
26.3.6使用多线程绘图
26.4综合案例:模拟退火算法
26.4.1认识模拟退火算法
26.4.2编写应用主页面
26.4.3编写Worker.js
26.4.4与WebWorker通信
第27章离线应用
视频讲解:21分钟
27.1HTML5离线应用概述
27.1.1为什么要学习HTML5离线应用
27.1.2浏览器支持概述
27.2HTML5离线应用详解
27.2.1解析manifest文件
27.2.2搭建离线应用程序
27.2.3检查浏览器是否支持
27.2.4离线缓存更新实现
27.2.5JavaScript接口实现
27.2.6离线存储事件监听
27.3案例实战:缓存首页
27.4案例实战:离线编辑内容
27.5案例实战:离线跟踪
第28章案例开发
视频讲解:23分钟
28.1设计小程序:万年历
28.2设计游戏:俄罗斯方块
28.2.1设计游戏界面
28.2.2设计游戏模型
28.2.3实现游戏功能标签
2.1.1 编写第一个JavaScript程序
2.1.2 脚本位置
2.1.3 延迟执行脚本
2.1.4 异步响应脚本
2.1.5 在XHTML中使用JavaScript脚本
2.1.6 兼容不支持JavaScript的浏览器
2.2 比较嵌入代码与链接脚本
2.3 使用标签
2.4 JavaScript执行顺序
2.4.1 正常执行顺序
2.4.2 预编译提前
2.4.3 代码块的执行顺序
2.4.4 事件响应顺序
2.4.5 动态输出脚本字符串
2.5 浏览器与JavaScript
2.5.1 浏览器内核
2.5.2 浏览器错误报告
2.6 JavaScript错误处理
2.6.1 使用try-catch
2.6.2 使用finally
2.6.3 错误类型
2.6.4 抛出错误
2.6.5 案例:设计抛出错误时机
2.6.6 错误事件
2.6.7 错误类型
2.6.8 案例:记录错误
2.7 JavaScript代码调试
2.7.1 使用控制台
2.7.2 显示错误信息
2.7.3 抛出错误
2.7.4 IE错误

第3章 JavaScript基本语法
视频讲解:36分钟
3.1 词法基础
3.1.1 字符编码
3.1.2 大小写敏感
3.1.3 标识符
3.1.4 直接量
3.1.5 关键字和保留字
3.1.6 分隔符
3.1.7 注释
3.1.8 转义序列
3.2 句法基础
3.2.1 认识词、句和段
3.2.2 分号
3.2.3 大括号

第4章 数据、类型和变量
视频讲解:109分钟
4.1 JavaScript数据类型概述
4.1.1 JavaScript数据类型的特点
4.1.2 JavaScript的基本数据类型
4.1.3 值类型和引用类型
4.2 值类型数据
4.2.1 数值
4.2.2 字符串
4.2.3 布尔值
4.2.4 Null
4.2.5 Undefined
4.3 引用型数据
4.3.1 数组
4.3.2 对象
4.3.3 函数
4.4 数据类型检测
4.4.1 使用typeof
4.4.2 使用constructor
4.4.3 案例:在框架窗口检测数组类型
4.4.4 案例:设计完善的数据类型检测工具
4.5 数据类型转换
4.5.1 值类型转换
4.5.2 引用型转换
4.5.3 转换为字符串
4.5.4 案例:转换数字模式
4.5.5 案例:设置数字转换为字符串的小数位数
4.5.6 转换为数字
4.5.7 转换为布尔值
4.5.8 案例:装箱和拆箱
4.5.9 案例:强制转换
4.6 使用变量
4.6.1 声明变量
4.6.2 变量的作用域
4.6.3 变量的作用域链
4.6.4 变量回收
4.6.5 案例:变量污染
4.7 案例实战
4.7.1 代码题
4.7.2 编程题

第5章 运算符和表达式
视频讲解:113分钟
5.1 运算符和表达式概述
5.1.1 认识运算符
5.1.2 使用运算符
5.1.3 认识表达式
5.1.4 案例:优化表达式
5.2 位运算符
5.2.1 位运算概述
5.2.2 逻辑位运算
5.2.3 移位运算
5.3 算术运算符
5.3.1 加法运算
5.3.2 减法运算
5.3.3 乘法运算
5.3.4 除法运算
5.3.5 余数运算
5.3.6 取反运算
5.3.7 递增和递减
5.4 逻辑运算符
5.4.1 逻辑与运算符
5.4.2 逻辑或运算符
5.4.3 逻辑非运算符
5.4.4 案例:逻辑运算训练
5.5 关系运算符
5.5.1 大小比较
5.5.2 案例:包含检测
5.5.3 案例:等值检测
5.6 赋值运算符
5.7 对象操作运算符
5.7.1 new运算符
5.7.2 delete运算符
5.7.3 中括号和点号运算符
5.7.4 小括号运算符
5.8 其他运算符
5.8.1 条件运算符
5.8.2 逗号运算符
5.8.3 void运算符
5.8.4 typeof运算符
5.9 案例实战
5.9.1 表达式计算
5.9.2 表达式描述
5.9.3 编程题

第6章 语句和结构
视频讲解:122分钟
6.1 语句概述
6.2 简单语句
6.2.1 表达式语句
6.2.2 复合语句
6.2.3 声明语句
6.2.4 空语句
6.3 分支结构
6.3.1 if语句
6.3.2 条件嵌套
6.3.3 案例:优化条件结构
6.3.4 案例:条件误用
6.3.5 switch语句
6.3.6 default从句
6.3.7 案例:比较if和switch
6.3.8 案例:优化分支结构
6.4 循环结构
6.4.1 while语句
6.4.2 do/while语句
6.4.3 for语句
6.4.4 for/in语句
6.4.5 案例:使用for/in
6.4.6 案例:比较while和for
6.4.7 案例:优化循环结构
6.5 结构跳转
6.5.1 标签语句
6.5.2 break语句
6.5.3 continue语句
6.6 异常处理
6.6.1 异常概述
6.6.2 throw语句
6.6.3 try/catch/finally语句
6.6.4 案例:改变作用域链
6.7 函数结构
6.7.1 function语句
6.7.2 return语句
6.8 with语句
6.9 案例实战
6.9.1 编程题
6.9.2 提升条件检测性能
6.9.3 提升循环迭代性能
6.9.4 设计杨辉三角

第7章 操作字符串
视频讲解:93分钟
7.1 定义字符串
7.1.1 字符串直接量
7.1.2 构造字符串
7.1.3 使用字符编码
7.2 使用字符串
7.2.1 案例:计算字符串长度
7.2.2 案例:连接字符串
7.2.3 案例:查找字符串
7.2.4 案例:截取子字符串
7.2.5 案例:编辑字符串
7.2.6 案例:灵活使用replace()方法
7.2.7 案例:比较字符串
7.2.8 案例:把字符串转换为数组
7.2.9 案例:字符串的类型和值
7.2.10 案例:格式化字符串
7.3 案例实战
7.3.1 修剪字符串
7.3.2 检测特殊字符
7.3.3 优化字符串连接
7.4 加密和解密
7.4.1 JavaScript编码和解码
7.4.2 案例:Unicode编码
7.4.3 案例:Unicode解码
7.4.4 综合实战:自定义加密和解密方法

第8章 使用正则表达式
视频讲解:102分钟
8.1 认识正则表达式
8.2 定义正则表达式
8.2.1 构造正则表达式
8.2.2 正则表达式直接量
8.3 字符匹配
8.3.1 认识普通字符和元字符
8.3.2 字符直接量
8.3.3 简单字符类
8.3.4 反义字符类
8.3.5 字符范围类
8.3.6 预定义字符类
8.4 重复匹配
8.4.1 简单重复性匹配
8.4.2 贪婪匹配
8.4.3 惰性匹配
8.4.4 支配匹配
8.5 高级匹配
8.5.1 分组
8.5.2 案例:分组应用
8.5.3 引用
8.5.4 案例:非引用型分组
8.5.5 选择
8.5.6 声明
8.5.7 边界
8.5.8 锚记
8.5.9 标志
8.6 使用RegExp对象
8.6.1 实例属性
8.6.2 静态属性
8.6.3 案例应用
8.7 综合案例:设计表单验证

第9章 操作数组
视频讲解:134分钟
9.1 定义数组
9.1.1 构造数组
9.1.2 数组直接量
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.3.6 案例:数组与字符串转换
9.4 案例实战
9.4.1 快速交换
9.4.2 数组下标
9.4.3 扩展数组方法
9.4.4 设计迭代器
9.4.5 使用迭代器
9.4.6 使用数组维度
9.5 综合实践:排序算法设计
9.5.1 插入排序
9.5.2 二分插入排序
9.5.3 选择排序
9.5.4 冒泡排序
9.5.5 快速排序
9.5.6 计数排序

第10章 使用对象
视频讲解:79分钟
10.1 认识对象
10.2 对象分类
10.2.1 原生对象
10.2.2 宿主对象
10.3 对象基本操作
10.3.1 创建对象
10.3.2 引用对象
10.3.3 销毁对象
10.4 属性基本操作
10.4.1 定义属性
10.4.2 访问属性
10.4.3 赋值和删除属性
10.4.4 对象方法
10.5 原生对象类型
10.5.1 构造对象
10.5.2 实例对象
10.5.3 原型对象
10.6 使用构造器
10.7 使用对象基本方法
10.7.1 案例:重写toString
10.7.2 案例:重写valueOf
10.7.3 案例:检测私有属性
10.7.4 案例:检测枚举属性
10.7.5 案例:检测原型对象
10.8 使用原生对象
10.8.1 Global对象
10.8.2 Math对象
10.8.3 Date对象
10.9 综合案例:设计计算器

第11章 使用函数
视频讲解:117分钟
11.1 认识函数
11.1.1 函数是代码块
11.1.2 函数是数据
11.1.3 函数是对象
11.2 定义函数
11.2.1 构造函数
11.2.2 函数直接量
11.2.3 定义嵌套函数
11.3 案例:优化函数定义
11.3.1 函数作用域
11.3.2 解析机制
11.3.3 兼容性和灵活性
11.4 使用函数
11.4.1 函数返回值
11.4.2 调用函数
11.4.3 函数生命周期
11.4.4 函数作用域
11.5 使用参数
11.5.1 认识形参和实参
11.5.2 使用Arguments对象
11.5.3 使用callee回调函数
11.5.4 案例实战
11.6 使用Function对象
11.6.1 获取函数形参个数
11.6.2 自定义属性
11.6.3 案例:使用call()和apply()
11.7 函数解析机制
11.7.1 词法作用域与执行作用域
11.7.2 执行上下文和作用域链
11.7.3 调用对象
11.8 函数中的this
11.8.1 案例:认识this
11.8.2 案例:使用this
11.8.3 案例:this安全策略
11.8.4 案例:this应用
11.9 案例实战
11.9.1 函数调用模式
11.9.2 扩展函数方法
11.9.3 绑定函数
11.9.4 链式语法
11.9.5 函数节流
11.9.6 使用Arguments模拟重载

第12章 函数式编程
视频讲解:116分钟
12.1 函数式编程概述
12.1.1 函数是第一型
12.1.2 函数是运算元
12.1.3 函数是数据闭包
12.2 表达式运算
12.2.1 连续运算
12.2.2 把命令转换为表达式
12.2.3 表达式中的函数
12.3 递归运算
12.3.1 认识递归
12.3.2 案例:Hanoi(汉诺)塔算法
12.3.3 案例:尾递归算法
12.3.4 案例:Fibonacci(斐波那契)数列
12.3.5 递归算法的优化
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.4.10 案例:闭包存储器
12.4.11 案例:事件处理中闭包应用
12.4.12 综合案例:设计折叠面板
12.4.13 案例:在循环体和异步回调中慎重使用闭包
12.5 案例实战
12.5.1 惰性求值
12.5.2 记忆
12.5.3 套用
12.5.4 模块化
12.5.5 柯里化
12.5.6 高阶函数

第13章 面向对象编程
视频讲解:109分钟
13.1 认识类
13.2 定义类
13.2.1 案例:工厂模式
13.2.2 案例:构造函数模式
13.2.3 案例:原型模式
13.2.4 案例:构造函数原型模式
13.2.5 案例:动态原型模式
13.3 接口
13.3.1 认识接口
13.3.2 定义接口
13.3.3 使用建议
13.4 原型模型
13.4.1 认识prototype
13.4.2 定义原型
13.4.3 案例:原型属性和本地属性
13.4.4 案例:应用原型
13.4.5 认识原型域和原型域链
13.4.6 原型副作用
13.5 继承
13.5.1 认识JavaScript继承机制
13.5.2 原型继承
13.5.3 类继承
13.5.4 案例:封装类继承模式
13.5.5 实例继承
13.5.6 复制继承
13.5.7 克隆继承
13.5.8 混合继承
13.5.9 多重继承
13.5.10 掺元类
13.6 封装
13.6.1 被动封装
13.6.2 主动封装
13.6.3 静态方法
13.7 多态
13.7.1 案例:方法重载和覆盖
13.7.2 案例:类的多态
13.8 构造和析构
13.8.1 案例:构造函数
13.8.2 案例:析构函数
13.9 案例实战
13.9.1 惰性实例化
13.9.2 安全构造对象
13.9.3 设计超类和子类
13.9.4 设计元类
13.9.5 分支函数
13.9.6 惰性载入函数

第14章 BOM
视频讲解:43分钟
14.1 认识BOM
14.2 使用Window对象
14.2.1 全局作用域
14.2.2 Window对象生命周期
14.2.3 人机交互接口
14.2.4 案例:控制弹出窗口
14.2.5 案例:框架集通信
14.3 使用Navigator对象
14.3.1 了解浏览器检测方法
14.3.2 案例:检测浏览器类型和版本
14.3.3 案例:检测客户端操作系统
14.4 使用Location和History对象
14.4.1 案例:使用Location对象
14.4.2 使用History对象
14.5 使用Screen对象
14.5.1 案例:使用Screen对象控制窗口大小
14.5.2 案例:使用Window对象控制窗口大小
14.6 使用Document对象
14.6.1 认识Document
14.6.2 使用0级文档模型操作文档
14.6.3 案例:动态生成文档

第15章 DOM
视频讲解:116分钟
15.1 认识DOM
15.2 使用节点
15.2.1 节点类型
15.2.2 节点名称和值
15.2.3 节点关系
15.2.4 案例:访问节点
15.2.5 案例:操作节点
15.3 使用文档节点
15.3.1 访问文档子节点
15.3.2 访问文档信息
15.3.3 访问文档元素
15.3.4 使用HTML5 Document
15.4 使用元素节点
15.4.1 访问元素
15.4.2 案例:遍历元素
15.4.3 创建元素
15.4.4 案例:复制节点
15.4.5 案例:插入节点
15.4.6 案例:删除节点
15.4.7 案例:替换节点
15.5 使用文本节点
15.5.1 访问文本节点
15.5.2 创建文本节点
15.5.3 操作文本节点
15.5.4 读取HTML字符串
15.5.5 案例:插入HTML字符串
15.5.6 案例:替换HTML字符串
15.5.7 案例:插入文本
15.6 使用文档片段节点
15.7 使用属性节点
15.7.1 访问属性节点
15.7.2 案例:读取属性值
15.7.3 案例:设置属性值
15.7.4 案例:删除属性
15.7.5 案例:使用类选择器
15.7.6 自定义属性
15.8 使用范围
15.8.1 创建范围
15.8.2 案例:选择范围
15.8.3 案例:设置范围
15.8.4 案例:操作范围内容
15.8.5 案例:插入范围内容
15.9 使用CSS选择器

第16章 事件处理
视频讲解:93分钟
16.1 事件概述
16.1.1 事件模型分类
16.1.2 事件流
16.1.3 事件类型
16.2 基本事件模型
16.2.1 基本事件类型
16.2.2 绑定事件
16.2.3 事件处理函数的返回值
16.2.4 事件处理函数的参数
16.2.5 事件处理函数中的this
16.3 标准事件模型
16.3.1 事件传播
16.3.2 注册事件
16.3.3 注销事件
16.3.4 事件类型
16.3.5 Event对象
16.4 IE事件模型
16.4.1 注册和销毁事件
16.4.2 Event对象
16.5 鼠标事件开发
16.5.1 鼠标点击
16.5.2 案例:鼠标移动
16.5.3 案例:鼠标经过
16.5.4 案例:鼠标来源
16.5.5 案例:鼠标定位
16.5.6 鼠标按键
16.6 键盘事件开发
16.6.1 认识键盘事件的属性
16.6.2 键盘事件响应顺序
16.7 页面事件开发
16.7.1 页面初始化
16.7.2 结构初始化
16.7.3 页面卸载
16.7.4 窗口重置
16.7.5 页面滚动
16.7.6 错误处理
16.8 UI事件开发
16.9 表单事件开发
16.9.1 选择文本
16.9.2 监测值变化
16.9.3 提交表单
16.9.4 重置表单
16.10 案例实战:自定义事件
16.10.1 设计弹出对话框
16.10.2 设计遮罩层
16.10.3 定义事件雏形
16.10.4 设计事件触发模型
16.10.5 应用事件模型

第17章 脚本化CSS
视频讲解:117分钟
17.1 脚本化CSS概述
17.1.1 认识CSS脚本属性
17.1.2 CSS样式模型概述
17.2 操作行内样式
17.2.1 CSS脚本属性名规范
17.2.2 使用style对象
17.3 操作样式表
17.3.1 使用styleSheets对象
17.3.2 访问样式表中的样式
17.3.3 读取样式的选择符
17.3.4 编辑样式
17.3.5 添加样式
17.3.6 访问显示样式
17.4 控制大小
17.4.1 案例:从样式表中读取宽度和高度
17.4.2 案例:把样式属性值转换为实际值
17.4.3 案例:使用offsetWidth和offsetHeight
17.4.4 案例:复杂环境下的元素尺寸
17.4.5 案例:可视区域尺寸
17.4.6 案例:浏览器窗口尺寸
17.5 位移和定位
17.5.1 案例:获取窗口位置
17.5.2 案例:获取相对包含框的位置
17.5.3 案例:获取定位包含框的位置
17.5.4 案例:设置元素的偏移位置
17.5.5 案例:设置元素的相对位置
17.5.6 案例:获取鼠标指针的页面位置
17.5.7 案例:获取鼠标指针在元素内的位置
17.5.8 案例:获取页面滚动条的位置
17.5.9 案例:设置页面滚动条的位置
17.6 显示和隐藏
17.6.1 案例:可见性
17.6.2 案例:透明度
17.7 设计动画
17.7.1 定时器
17.7.2 案例:滑动
17.7.3 案例:渐隐渐显

第18章 HTML5动画设计
视频讲解:84分钟
18.1 HTML5 canvas概述
18.1.1 在页面中添加canvas元素
18.1.2 Canvas如何绘制图形
18.1.3 认识Canvas坐标
18.1.4 何时不用Canvas
18.1.5 如果浏览器不支持Canvas
18.1.6 检测浏览器支持
18.2 绘制基本图形
18.2.1 绘制直线
18.2.2 绘制矩形
18.2.3 绘制圆形
18.2.4 绘制三角形
18.2.5 清空画布
18.3 绘制曲线
18.3.1 绘制二次方贝塞尔曲线
18.3.2 绘制三次方贝塞尔曲线
18.4 变换图形
18.4.1 保存与恢复Canvas状态
18.4.2 移动坐标空间
18.4.3 旋转坐标空间
18.4.4 缩放图形
18.4.5 矩阵变换
18.5 组合和裁切图形
18.5.1 组合图形
18.5.2 裁切路径
18.6 定义颜色和样式
18.6.1 应用线型
18.6.2 绘制线性渐变
18.6.3 绘制径向渐变
18.6.4 绘制图案
18.6.5 设置图形的透明度
18.6.6 创建阴影
18.7 绘制文字
18.7.1 绘制填充文字
18.7.2 设置文字属性
18.7.3 绘制轮廓文字
18.7.4 测量文字宽度
18.8 嵌入图像
18.8.1 向Canvas中引入图像
18.8.2 改变图像大小
18.8.3 创建图像切片

第19章 Web存储
视频讲解:69分钟
19.1 Cookie概述
19.1.1 认识Cookie
19.1.2 Cookie字符串
19.2 存取Cookie
19.2.1 写入Cookie
19.2.2 设置Cookie有效期
19.2.3 设置Cookie的域和路径
19.2.4 设置Cookie安全传输
19.2.5 案例:完善写入Cookie方法
19.2.6 读取Cookie信息
19.2.7 修改和删除Cookie信息
19.2.8 Cookie的局限性及其突破
19.3 综合案例:Cookie应用
19.3.1 封装Cookie
19.3.2 打字游戏
19.4 Web Storage概述
19.4.1 Cookie存储机制的优缺点
19.4.2 为什么要用Web Storage
19.4.3 Web Storage的优势和缺点
19.4.4 浏览器支持概述
19.5 使用Web Storage
19.5.1 检查浏览器的支持性
19.5.2 设置和获取数据
19.5.3 防止数据泄露
19.5.4 Web Storage其他用法
19.5.5 Web Storage事件监测
19.5.6 案例1:设计网页皮肤
19.5.7 案例2:跟踪localStorage数据
19.5.8 案例3:设计计数器
19.5.9 综合案例:Web应用项目实时跟踪
19.6 Web SQL数据库
19.6.1 Web SQL数据库概述
19.6.2 使用Web SQL数据库
19.6.3 实例1:创建简单的本地数据库
19.6.4 实例2:批量存储本地数据
19.6.5 综合案例:Web Storage和Web SQL混合开发

第20章 JavaScript通信
视频讲解:69分钟
20.1 HTTP概述
20.2 使用隐藏框架
20.2.1 认识隐藏框架
20.2.2 案例:使用隐藏框架
设计异步交互
20.2.3 使用iframe
20.3 使用JSONP
20.3.1 认识标签
20.3.2 案例:脚本化script元素
20.3.3 案例:传递参数
20.3.4 案例:设计响应类型
20.4 使用Ajax
20.4.1 认识XMLHttpRequest
20.4.2 定义XMLHttpRequest对象
20.4.3 建立XMLHttpRequest连接
20.5 发送请求
20.5.1 发送GET请求
20.5.2 发送POST请求
20.5.3 案例:把数据转换为串行字符串
20.6 异步监测
20.6.1 跟踪状态
20.6.2 中止请求
20.7 获取响应
20.7.1 XML
20.7.2 HTML
20.7.3 JavaScript
20.7.4 JSON
20.7.5 Text
20.7.6 获取头部消息
20.8 案例实战
20.8.1 封装异步交互
20.8.2 设计动态响应的Tab面板
20.8.3 使用灯标

第21章 XML
视频讲解:26分钟
21.1 XML概述
21.2 XML文档对象模型
21.2.1 认识XML DOM
21.2.2 读取XML
21.3 在IE中操作XML
21.3.1 创建XML DOM对象
21.3.2 加载XML数据
21.3.3 错误处理
21.4 使用DOM2操作XML
21.4.1 创建XML DOM对象
21.4.2 加载XML数据
21.4.3 读取XML数据
21.5 使用XPath
21.5.1 熟悉XPath基本语法
21.5.2 IE中的XPath
21.5.3 DOM 3中的XPath
21.6 案例实战
21.6.1 在网页中显示XML数据
21.6.2 异步加载XML数据

第22章 JSON
22.1 JSON概述
22.2 比较JSON与XML
22.3 JSON语法
22.3.1 简单值
22.3.2 对象
22.3.3 数组
22.4 JSON解析和序列化
22.5 案例:优化JSON数据

第23章 ECMAScript 5
视频讲解:74分钟
23.1 ECMAScript 5概述
23.2 浏览器支持
23.3 严格模式
23.3.1 启用严格模式
23.3.2 严格模式的执行限制
23.4 JSON
23.4.1 案例:解析JSON
23.4.2 案例:序列化JSON
23.5 Object
23.5.1 创建对象
23.5.2 定义属性
23.5.3 访问属性
23.5.4 配置属性的特性
23.5.5 检测属性的特性
23.6 Array
23.6.1 定位
23.6.2 迭代
23.6.3 汇总
23.7 Function和String

第24章 ECMAScript 6
24.1 ECMAScript 6概述
24.1.1 兼容性
24.1.2 使用ECMAScript 6
24.2 变量
24.2.1 let命令
24.2.2 const命令
24.2.3 数组解构赋值
24.2.4 对象解构赋值
24.2.5 案例:解构应用
24.3 字符和字符串
24.3.1 字符
24.3.2 字符串
24.3.3 模板字符串
24.4 数值
24.4.1 进制表示
24.4.2 Number方法
24.4.3 Math方法
24.5 数组
24.5.1 转换
24.5.2 实例
24.5.3 推导
24.5.4 监听
24.6 对象
24.6.1 新增方法
24.6.2 原型方法
24.6.3 增强语法
24.6.4 属性名表达式
24.6.5 符号数据
24.6.6 代理防护层
24.6.7 监听
24.7 函数
24.7.1 默认值
24.7.2 rest参数
24.7.3 扩展运算符
24.7.4 箭头函数
24.8 数据结构
24.8.1 Set
24.8.2 WeakSet
24.8.3 Map
24.8.4 WeakMap
24.9 循环遍历
24.9.1 遍历器
24.9.2 for/of循环
24.10 状态机
24.10.1 使用Generator函数
24.10.2 next()方法
24.10.3 异步操作
24.10.4 for of循环
24.10.5 throw方法
24.10.6 yield*语句
24.11 预处理
24.11.1 基本用法
24.11.2 then()方法
24.11.3 catch()方法
24.11.4 all()和race()方法
24.11.5 resolve()和reject()方法
24.11.6 async函数
24.12 类和模块
24.12.1 类
24.12.2 模块

第25章 移动定位
25.1 位置信息概述
25.1.1 为什么要学习Geolocation
25.1.2 位置信息表示方式
25.1.3 位置信息来源
25.1.4 IP定位
25.1.5 GPS定位
25.1.6 Wi-Fi定位
25.1.7 手机定位
25.1.8 自定义定位
25.2 使用Geolocation API
25.2.1 检查浏览器支持性
25.2.2 获取当前地理位置
25.2.3 监视位置信息
25.2.4 停止获取位置信息
25.2.5 隐私保护
25.2.6 处理位置信息
25.2.7 使用position对象
25.3 案例实战
25.3.1 使用Google地图
25.3.2 跟踪行走速度

第26章 多线程处理
视频讲解:25分钟
26.1 Web Workers概述
26.1.1 认识Web Workers
26.1.2 浏览器支持概述
26.1.3 熟悉Web Workers成员
26.2 使用Web Workers
26.2.1 检查浏览器支持性
26.2.2 创建Web Workers
26.2.3 与Web Workers通信
26.2.4 案例:使用Web Workers
26.3 案例实战
26.3.1 使用多线程实现后台运算
26.3.2 在后台过滤值
26.3.3 多任务并发处理
26.3.4 在多线程之间通信
26.3.5 使用线程技术计算Fibonacci数列
26.3.6 使用多线程绘图
26.4 综合案例:模拟退火算法
26.4.1 认识模拟退火算法
26.4.2 编写应用主页面
26.4.3 编写Worker.js
26.4.4 与Web Worker通信

第27章 离线应用
视频讲解:21分钟
27.1 HTML5离线应用概述
27.1.1 为什么要学习HTML5离线应用
27.1.2 浏览器支持概述
27.2 HTML5离线应用详解
27.2.1 解析manifest文件
27.2.2 搭建离线应用程序
27.2.3 检查浏览器是否支持
27.2.4 离线缓存更新实现
27.2.5 JavaScript接口实现
27.2.6 离线存储事件监听
27.3 案例实战:缓存首页
27.4 案例实战:离线编辑内容
27.5 案例实战:离线跟踪

第28章 案例开发
视频讲解:23分钟
28.1 设计小程序:万年历
28.2 设计游戏:俄罗斯方块
28.2.1 设计游戏界面
28.2.2 设计游戏模型
28.2.3 实现游戏功能
摘要
前 言: JavaScript是目前最流行的编程语言之一,在2015年9月Tiobe编程语言排行榜中位居第7。作为一种轻型的、解释型的程序设计语言,JavaScript主要应用于Web前端开发,它以脚本的形式嵌入到网页文档内,由客户端浏览器负责解析和执行。 JavaScript语言最近几年发展速度比较快,也非常受网页设计人员欢迎。它的优势在于灵活和轻巧,同时也是少数几种能够兼顾函数式编程和面向对象编程的语言。本书将系统讲解JavaScript的语言特性,帮助读者完全掌握JavaScript编程技巧。 本书特色 ? 知识系统,内容全面 系统性是初学者完全认识和掌握一门语言的基础,它体现在知识、结构的有序、完整和严谨上。很多读者由于没有意识到这个问题的重要性,随意选择一本与JavaScript相关的图书,仅提供了碎片化的知识,不能够很好地发挥JavaScript优势。本书不仅关注JavaScript语言词法、语法体系的完整性,同时系统讲解JavaScript所有核心特性,以及JavaScript拓展技术与应用。 ? 语言通俗易懂 本书以通俗、生动的语言描述复杂的技术话题和概念应用,同时在详尽的描述中,对于重难点技术和知识点,力求简洁明了,避免机械式说明。这对于读者理解和铭记一些重难点概念和知识是必要的。 ? 由浅入深,循序渐进 本书以初、中级程序员为对象,先从JavaScript基础学起,然后学习JavaScript的核心技术,最后学习JavaScript的高级应用。讲解过程中步骤详尽,内容新颖。 ? 语音视频,讲解详尽 书中每一章节均提供声图并茂的语音视频教学录像,读者可以根据书中提供的视频位置,在光盘中找到。这些视频能够引导初学者快速入门,感受编程的快乐和成就感,增强进一步学习的信心,从而快速成为编程高手。 ? 实例典型,轻松易学 通过例子学习是最好的学习方式,本书通过一个知识点、一个例子、一个结果、一段评析、一个综合应用的模式,透彻详尽地讲述了实际开发中所需的各类知识。 ? 应用实践,随时练习 书中几乎每章都提供了大量案例,帮助读者实践与练习,读者能够通过反复上机练习重新回顾、熟悉所学的知识,举一反三,为进一步学习做好充分的准备。 本书内容 本书分为5大部分,共28章,具体结构划分如下。 第1部分:JavaScript概述,包括第1章~第2章。这部分内容主要介绍了JavaScript基本概念和基本知识,以及如何快速上手测试JavaScript代码。 第2部分:JavaScript核心编程,包括第3章~第13章。这部分内容主要介绍JavaScript核心部分编程,包括变量、数据类型、表达式、运算符、语句、函数、数组、对象、正则表达式、函数式编程和面向对象编程。 第3部分:JavaScript DOM,包括第14章~第17章。这部分内容主要介绍JavaScript客户端开发的相关知识和技术,如浏览器脚本化、网页脚本化、样式表脚本以及事件处理。 第4部分:JavaScript扩展,包括第18章~第27章。这部分内容主要介绍JavaScript各种扩展技术,如HTML5动画、网页存储、Ajax、XML、JSON、ECMAScript 5和ECMAScript 6新规范讲解、移动定位、多线程和离线应用。 第5部分:本部分包括第28章,本章通过两个综合实例演示了如何使用JavaScript进行实战开发的过程。 本书约定 运行本书示例,需要下列软件: ? Windows 2000、Windows Server 2003、Windows XP、Windows Vista或Mac OS X。 ? IE 5.5或更高版本。 ? Mozilla 1.0或更高版本。 ? Opera 7.5或更高版本。 ? Safari 1.2或更高版本。 为了节省版面,本书所显示的示例代码都是局部的,读者需要在网页中输入标签,然后尝试把书中列举的JavaScript脚本代码写在标签内,再在Web浏览器中试验,以验证代码运行效果。针对部分示例可能需要服务器端的配合,读者可以参阅示例所在章节的说明进行操作即可。 编 者

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网