百道网
 您现在的位置:Fun书 > JavaScript网页编程从入门到精通
JavaScript网页编程从入门到精通


JavaScript网页编程从入门到精通

作  者:杨凡

出 版 社:清华大学出版社

丛 书:清华社视频大讲堂大系

出版时间:2017年10月

定  价:118.00

I S B N :9787302421924

所属分类: 专业科技  >  计算机/网络  >  程序设计    

标  签:编程语言与程序设计  计算机?网络  

[查看微博评论]

分享到:

TOP内容简介

  《JavaScript网页编程从入门到精通》一书从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用JavaScript语言进行程序开发应该掌握的各方面技术。《JavaScript网页编程从入门到精通》共分28章,具体内容包括JavaScript概述、基本语法、函数、JavaScript对象与数组、字符串处理、正则表达式、函数式编程、面向对象编程、浏览器对象模型、事件处理、文档对象模型、客户端存储、脚本化CSS、JavaScript中的XML和JSON、JavaScript通信、HTML5新技术等。所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以帮助读者轻松领会JavaScript语言精髓,快速提高开发技能。《JavaScript网页编程从入门到精通》适用于从未接触过网页制作的初级读者,以及有一定网页制作基础,想灵活使用Dreamweaver、Flash和Photoshop软件以提高制作技能的中级读者自学使用,也可作为高等院校计算机专业以及相关培训班的教学用书。

TOP作者简介

  作者简介:

  杨凡,资深Web技术专家,有10余年开发经验,是国内较早专业从事Web开发的一线技术人员和培训讲师。一直致力于对HTML5、JavaScript、CSS3、jQuery、jQUeryMobile等Web开发技术的研究和实践,在HTML页面的优化与用户体验的研究,以及页面框架搭建、数据流向分析、页面静态优化等方面都拥有丰富的实践经验。他还是微软技术方面的专家,精通C#、ASP.NET和SQLServer等技术。

 

TOP目录

第1章 JavaScript概述

1.1 JavaScript发展历史

1.1.1 第一个网页脚本语言

1.1.2 Netscape发明了JavaScript

1.1.3 三足鼎立

1.1.4 ECMAScript诞生

1.2 JavaScript版本

1.3 ECMAScript概述

1.3.1 ECMAScript和JavaScript的关系

1.3.2 ECMAScript发展历史

1.4 JavaScript实现

1.4.1 JavaScript核心

1.4.2 文档对象模型

1.4.3 浏览器对象模型

1.5 JavaScript开发工具

1.5.1 JavaScript编辑器

1.5.2 JavaScript测试和调试

第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.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 认识<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.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 实现游戏功能


TOP书摘

  19.1Cookie概述

  HTTP是一种无序协议,它不会记录或跟踪用户的访问信息。这意味着Web服务器无法直接分辨用户的身份,记忆用户的足迹。不管是老用户,还是新用户,对于Web服务器来说,都是新面孔。这种无序状态能够在一定程度上降低服务器运行的复杂性,提高响应速度,当然也存在很多问题。例如,刚登录完毕,再次回来时就需要重新登录;刚设置的页面环境,如果刷新页面,则还需要重新设置;重复的表单信息,却需要反复输入。

  19.1.1认识Cookie

  1995年Netscape2.0版本浏览器推出,Netscape2.0开始支持Cookie技术。Cookie是存储在用户系统中的一个文本文件,该文本文件与某个Web服务器域中的某个目录相关联,当用户的浏览器向服务器请求该目录中某个页面时,客户端的Cookie信息就会随着HTTP请求一起发送到服务器端。这样就可以使用JavaScript在客户端设置和检索Cookie信息,同时服务器端也能够读取这些Cookie信息,从而实现跟踪和记录用户访问的目的。

  Cookie特别适合完成类似如下的各种工作:

  þ跟踪访问者的访问次数、最后访问时间和访问者进入站点的路径等。

  þ记录在线广告点击次数,记录用户是否投票、是否登录、是否选购等信息。

  þ可以减轻表单输入的繁琐,只要输入一次,在有效时间内用户就不用再重复输入。

  þ可以统计用户资料,并根据这些信息设计个性化服务。

  þ可以记录用户的页面设置信息,避免重复配置环境。

  由于Web服务器可以通过Cookie观察用户的浏览习惯,从而将用户信息加以细化,以方便站点为不同用户定制信息,实现个性化的服务。因此,Cookie一直是浏览器和服务器开发中钟情的一项技术,也确实为广大互联网用户带来了很大的便利。

  19.1.2Cookie字符串

  在JavaScript中,一个Cookie实际就是一个字符串属性。当对Cookie进行读操作时,可以得到一个字符串,这个字符串包含了应用到当前文档的所有Cookie的名称和值。通过设置Cookie的值可以创建、修改或删除一个Cookie。除了名/值对外,每个Cookie都包含4个可选的属性,分别用来定义Cookie的有效期、可见性和安全性。

  þ所谓有效期,就是Cookie存在的时间,由expires属性设置。在默认情况下,Cookie是临时存在的,当会话结束后就被删除(即浏览器被关闭后或退出Web服务器的域)。如果希望Cookie存在的时间超过一个浏览会话期,可以使用expires属性指定一个终止日期,这样浏览器就会把Cookie保存到一个本地文件中,以方便下次访问时读取。一旦超过了终止日期,那个Cookie就会自动从Cookie文件中删除。

  þ可见性包括Cookie的路径(path)和域(domain)。path属性设置Cookie的有效路径(或者说可以访问的目录),默认为当前文件所在的目录。domain属性可以设置Cookie关联的域,即设置可以访问Cookie的站点,默认为当前站点。

  þ安全性是指Cookie信息在客户端与服务器端传递时是否采取安全策略,它主要通过secure属性来设置,secure是一个布尔值,可以设置Cookie信息的传输方式。注意,expires、path、domain和secure都是Cookie的属性,而不是JavaScript对象的属性。

  一个Cookie字符串应该由下面几部分组成。

  þname(名称):每一个Cookie都有一个名称(具有唯一性,即一个Cookie中不能够包含多个名称)。这个名称可以包含字母、数字和下划线。与JavaScript变量不同,Cookie的名称是不区分大小写的。例如,name和Name是相同的。为了安全起见,建议保持大小写习惯,因为有些服务器端软件区分大小写。

  þvalue(值):具体的Cookie信息,为了防止值中包含特殊的字符,建议使用JavaScript方法对其进行编码,当然在读取时也不要忘记解码。Cookie名称和值的字节数不能超过4096个字符(即4KB)。

  þdomain(域):不同网站只能够访问自己域内的Cookie信息,网站之间不能够互访。不过,用户可以通过设置域以实现网站之间的相互访问。

  þpath(路径):不同的Cookie信息只能够在指定的目录下有效,其他目录文件是禁止访问的。此时,可以通过该属性来设置有效访问的路径。

  þexpires(失效日期):Cookie信息仅是暂时存在的,不过通过设置expires属性可以延长Cookie的生存期。

  secure(安全标识):布尔值,当为true时,表示以安全方式传递Cookie信息,否则根据常规方式传递Cookie信息。

  ……

TOP 其它信息

页  数:956

开  本:16开

正文语种:中文

加载页面用时:79.5917