Java sc ript高级程序设计(第2版)_前端开发教程
资源名称:Javascript高级程序设计(第2版)
内容简介:
本书在上一版基础上进行了大幅度更新和修订,融入了近几年来Javascript应用发展的最新成果,几乎涵盖了所有需要理解的重要概念和最新的Javascript应用成果。从颇具深度的Javascript语言基础到作用域(链),从引用类型到面向对象编程,从极其灵活的匿名函数到闭包的内部机制,从浏览器对象模型(BOM)、文档对象模型(DOM)到基于事件的Web脚本设计,从XML(E4X)到Ajax及JSON,从高级前端开发技术到前沿的客户端存储,从最佳编程实践到即将成为现实的API,直至Javascript未来的发展,全景式地展示了Javascript高级程序设计的方方面面。
本书适合不同层次的Javascript/Web开发人员阅读参考,也可作为高校相关专业课程的教材。
资源目录:
第1章 Javascript简介
1.1 Javascript简史
1.2 Javascript实现
1.2.1 ECMAscript
1.2.2 文档对象模型(DOM)
1.2.3 浏览器对象模型(BOM)
1.3 Javascript版本
1.4 小结
第2章 在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 小结
第3章 基本概念
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 小结
第4章 变量、作用域和内存问题
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 小结
第5章 引用类型
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 小结
第6章 面向对象的程序设计
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 小结
第7章 匿名函数
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 小结
第8章 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 小结
第9章 客户端检测
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工具
资源截图: