::资源简介::
融入了近几年来JavaScript应用发展的最新成果,几乎涵盖了所有需要理解的重要概念和最新的JavaScript应用成果。从颇具深度的JavaScript语言基础到作用域(链),从引用类型到面向对象编程,从极其灵活的匿名函数到闭包的内部机制,从浏览器对象模型(BOM)、文档对象模型(DOM)到基于事件的Web脚本设计,从XML(E4X)到Ajax及JSON,从高级前端开发技术到前沿的客户端存储,从最佳编程实践到即将成为现实的API,直至JavaScript未来的发展,全景式地展示了JavaScript高级程序设计的方方面面。
JAVASCRIPT高级程序设计[第2版]
目录
第01章 JavaScript简介
1_1 JavaScript简史
1_2 JavaScript实现
1_2_1 ECMAScript
1_2_2 文档对象模型(DOM)
1_2_3 浏览器对象模型(BOM)
1_3 JavaScript版本
1_4 小结
第02章 在HTML中使用JavaScript
2_1 script元素
2_1_1 标签的位置
2_1_2 延迟脚本
2_1_3 在XHTML中的用法
2_1_4 不推荐使用的语法
2_1_5 嵌入代码与外部文件
2_2 文档模式
2_3 noscript元素
2_4 小结
第03章 基本概念
3_1 语法
3_1_1 区分大小写
3_1_2 标识符
3_1_3 注释
3_1_4 语句
3_2 关键字和保留字
3_3 变量
3_4 数据类型
3_4_1 typeof操作符
3_4_2 Undefined类型
3_4_3 Null类型
3_4_4 Boolean类型
3_4_5 Number类型
3_4_6 String类型
3_4_7 Object类型
3_5 操作符
3_5_1 一元操作符
3_5_2 位操作符
3_5_3 布尔操作符
3_5_4 乘性操作符
3_5_5 加性操作符
3_5_6 关系操作符
3_5_7 相等操作符
3_5_8 条件操作符
3_5_9 赋值操作符
3_5_10 逗号操作符
3_6 语句
3_6_1 if语句
3_6_2 do-while语句
3_6_3 while语句
3_6_4 for语句
3_6_5 for-in语句
3_6_6 label语句
3_6_7 break和continue语句
3_6_8 with语句
3_6_9 switch语句
3_7 函数
3_7_1 理解参数
3_7_2 没有重载
3_8 小结
第04章 变量、作用域和内存问题
4_1 基本类型和引用类型的值
4_1_1 动态属性
4_1_2 复制变量值
4_1_3 传递参数
4_1_4 检测类型
4_2 执行环境及作用域
4_2_1 延长作用域链
4_2_2 没有块级作用域
4_3 垃圾收集
4_3_1 标记清除
4_3_2 引用计数
4_3_3 性能问题
4_3_4 管理内存
4_4 小结
第05章 引用类型
5_1 Object类型
5_2 Array类型
5_2_1 转换方法
5_2_2 栈方法
5_2_3 队列方法
5_2_4 重排序方法
5_2_5 操作方法
5_3 Date类型
5_3_1 继承的方法
5_3_2 日期格式化方法
5_3_3 日期/时间组件方法
5_4 RegExp类型
5_4_1 RegExp实例属性
5_4_2 RegExp实例方法
5_4_3 RegExp构造函数属性
5_4_4 模式的局限性
5_5 Function类型
5_5_1 没有重载(深入理解)
5_5_2 函数声明与函数表达式
5_5_3 作为值的函数
5_5_4 函数内部属性
5_5_5 函数属性和方法
5_6 基本包装类型
5_6_1 Boolean类型
5_6_2 Number类型
5_6_3 String类型
5_7 内置对象
5_7_1 Global对象
5_7_2 Math对象
5_8 小结
第06章 面向对象的程序设计
6_1 创建对象
6_1_1 工厂模式
6_1_2 构造函数模式
6_1_3 原型模式
6_1_4 组合使用构造函数模式和原型模式
6_1_5 动态原型模式
6_1_6 寄生构造函数模式
6_1_7 稳妥构造函数模式
6_2 继承
6_2_1 原型链
6_2_2 借用构造函数
6_2_3 组合继承
6_2_4 原型式继承
6_2_5 寄生式继承
6_2_6 寄生组合式继承
6_3 小结
第07章 匿名函数
7_1 递归
7_2 闭包
7_2_1 闭包与变量
7_2_2 关于this对象
7_2_3 内存泄漏
7_3 模仿块级作用域
7_4 私有变量
7_4_1 静态私有变量
7_4_2 模块模式
7_4_3 增强的模块模式
7_5 小结
第08章 BOM
8_1 window对象
8_1_1 全局作用域
8_1_2 窗口关系及框架
8_1_3 窗口位置
8_1_4 窗口大小
8_1_5 导航和打开窗口
8_1_6 间歇调用和超时调用
8_1_7 系统对话框
8_2 location对象
8_2_1 查询字符串参数
8_2_2 位置操作
8_3 navigator对象
8_3_1 检测插件
8_3_2 注册处理程序
8_4 screen对象
8_5 history对象
8_6 小结
第09章 客户端检测
9_1 能力检测
9_2 怪癖检测
9_3 用户代理检测
9_3_1 用户代理字符串的历史
9_3_2 用户代理字符串检测技术
9_3_3 完整的代码
9_3_4 使用方法
9_4 小结
第10章 DOM
10_1 节点层次
10_1_1 Node类型
10_1_2 Document类型
10_1_3 Element类型
10_1_4 Text类型
10_1_5 Comment类型
10_1_6 CDATASection类型
10_1_7 DocumentType类型
10_1_8 DocumentFragment类型
10_1_9 Attr类型
10_2 DOM扩展
10_2_1 呈现模式
10_2_2 滚动
10_2_3 children属性
10_2_4 contains()方法
10_2_5 操作内容
10_3 DOM操作技术
10_3_1 动态脚本
10_3_2 动态样式
10_3_3 操作表格
10_3_4 使用NodeList
10_4 小结
第11章 DOM2和DOM3
11_1 DOM变化
11_1_1 针对XML命名空间的变化
11_1_2 其他方面的变化
11_2 样式
11_2_1 访问元素的样式
11_2_2 操作样式表
11_2_3 元素大小
11_3 遍历
11_3_1 NodeIterator
11_3_2 TreeWalker
11_4 范围
11_4_1 DOM中的范围
11_4_2 IE中的范围
11_5 小结
第12章 事件
12_1 事件流
12_1_1 事件冒泡
12_1_2 事件捕获
12_1_3 DOM事件流
12_2 事件处理程序(或事件侦听器)
12_2_1 HTML事件处理程序
12_2_2 DOM0级事件处理程序
12_2_3 DOM2级事件处理程序
12_2_4 IE事件处理程序
12_2_5 跨浏览器的事件处理程序
12_3 事件对象
12_3_1 DOM中的事件对象
12_3_2 IE中的事件对象
12_3_3 跨浏览器的事件对象
12_4 事件类型
12_4_1 UI事件
12_4_2 鼠标事件
12_4_3 键盘事件
12_4_4 HTML事件
12_4_5 变动事件
12_4_6 专有事件
12_4_7 移动Safari支持的事件
12_5 内存和性能
12_5_1 事件委托
12_5_2 移除事件处理程序
12_6 模拟事件
12_6_1 DOM中的事件模拟
12_6_2 IE中的事件模拟
12_7 小结
第13章 表单脚本
13_1 表单
13_1_1 提交表单
13_1_2 重置表单
13_1_3 表单字段
13_2 文本框脚本
13_2_1 选择文本
13_2_2 过滤输入
13_2_3 自动切换焦点
13_3 选择框脚本
13_3_1 选择选项
13_3_2 添加选项
13_3_3 移除选项
13_3_4 移动和重排选项
13_4 表单序列化
13_5 富文本编辑
13_5_1 操作富文本
13_5_2 富文本选区
13_5_3 表单与富文本
13_6 小结
第14章 错误处理与调试
14_1 浏览器错误报告
14_1_1 Internet Explorer
14_1_2 Firefox
14_1_3 Safari
14_1_4 Opera
14_1_5 Chrome
14_2 错误处理
14_2_1 try-catch语句
14_2_2 抛出错误
14_2_3 错误(error)事件
14_3 错误处理策略
14_3_1 常见的错误类型
14_3_2 区分致命错误和非致命错误
14_3_3 把错误记录到服务器
14_4 调试技术
14_4_1 将消息记录到控制台
14_4_2 将消息记录到当前页面
14_4_3 抛出错误
14_5 常用的IE错误
14_5_1 操作终止
14_5_2 无效字符
14_5_3 未找到成员
14_5_4 未知运行时错误
14_5_5 语法错误
14_5_6 系统无法找到指定资源
14_6 调试工具
14_6_1 IE中的调试器
14_6_2 Firebug
14_6_3 Drosera
14_6_4 Opera中的JavaScript调试器
14_6_5 其他调试工具
14_7 小结
第15章 JavaScript与XML
15_1 浏览器对XML DOM的支持
15_1_1 DOM2级核心
15_1_2 DOMParser类型
15_1_3 XMLSerializer类型
15_1_4 DOM3级加载和保存
15_1_5 IE对XML的支持
15_1_6 跨浏览器处理XML
15_2 浏览器对XPath的支持
15_2_1 DOM3级XPath
15_2_2 IE中的XPath
15_2_3 跨浏览器使用XPath
15_3 浏览器对XSLT的支持
15_3_1 IE中的XSLT
15_3_2 XSLTProcessor类型
15_3_3 跨浏览器使用XSLT
15_4 小结
第16章 E4X
16_1 E4X的类型
16_1_1 XML类型
16_1_2 XMLList类型
16_1_3 命名空间类型
16_1_4 QName类型
16_2 一般用法
16_2_1 访问特性
16_2_2 其他节点类型
16_2_3 查询
16_2_4 构建和操作XML
16_2_5 解析和序列化
16_2_6 命名空间
16_3 其他变化
16_4 全面启用E4X
16_5 小结
第17章 Ajax与JSON
17_1 XHR对象
17_1_1 XHR的用法
17_1_2 HTTP头部信息
17_1_3 GET请求
17_1_4 POST请求
17_1_5 浏览器差异
17_1_6 安全
17_2 跨域请求
17_2_1 XDomainRequest对象
17_2_2 跨域XHR
17_3 JSON
17_3_1 在Ajax中使用JSON
17_3_2 安全
17_4 小结
第18章 高级技巧
18_1 高级函数
18_1_1 作用域安全的构造函数
18_1_2 惰性载入函数
18_1_3 函数绑定
18_1_4 函数柯里化
18_2 高级定时器
18_2_1 重复的定时器
18_2_2 Yielding Processes
18_2_3 函数节流
18_3 自定义事件
18_4 拖放
18_4_1 修缮拖动功能
18_4_2 添加自定义事件
18_5 小结
第19章 客户端存储
19_1 cookie
19_1_1 限制
19_1_2 cookie的成分
19_1_3 JavaScript中的cookie
19_1_4 子cookie
19_1_5 关于cookie的思考
19_2 IE用户数据
19_3 DOM存储机制
19_3_1 存储类型
19_3_2 sessionStorage对象
19_3_3 globalStorage对象
19_3_4 localStorage对象
19_3_5 StorageItem类型
19_3_6 storage事件
19_3_7 限制
19_4 总结
第20章 最佳实践
20_1 可维护性
20_1_1 什么是可维护的代码
20_1_2 代码约定
20_2 松散耦合
20_3 性能
20_3_1 注意作用域
20_3_2 选择正确方法
20_3_3 最小化语句数
20_3_4 优化DOM交互
20_4 部署
20_4_1 构建过程
20_4_2 验证
20_4_3 压缩
20_5 小结
第21章 未来的API
21_1 选择器API
21_1_1 querySelector()方法
21_1_2 querySelectorAll()方法
21_1_3 现今和未来的支持情况
21_2 HTML5
21_2_1 字符集属性
21_2_2 类相关的增加
21_2_3 自定义数据特性
21_2_4 跨文档消息传递
21_2_5 媒体元素
21_2_6 canvas元素
21_2_7 离线支持
21_2_8 历史的改变
21_2_9 数据库存储
21_2_10 拖放操作
21_2_11 WebSocket类型
21_2_12 HTML5的未来
21_3 小结
第22章 JavaScript的未来
22_1 ECMAScript4/JavaScript2
22_1_1 JavaScript1.5
22_1_2 JavaScript1.6
22_1_3 JavaScript1.7
22_1_4 JavaScript1.8
22_1_5 JavaScript1.9
22_1_6 ECMAScript4提案
22_1_7 变量类型
22_1_8 函数
22_1_9 类型定义
22_1_10 类和接口
22_1_11 接口
22_1_12 继承
22_1_13 命名空间
22_1_14 包
22_1_15 语言上的其他变更
22_1_16 ECMAScript4的未来
22_2 ECMAScript3.1
22_2_1 对对象内部实现的变更
22_2_2 静态对象方法
22_2_3 本地的JSON支持
22_2_4 Decimal
22_2_5 用法子集
22_2_6 ECMAScript3_1的未来
22_3 小结
附录A JavaScript库
附录B JavaScript工具
::下载地址::
>> 评论