书籍详情
JavaScript编程精解
作者:(美)Marijn Haverbeke 著 徐涛 译
出版社:机械工业出版社
出版时间:2012-09-01
ISBN:9787111396659
定价:¥49.00
购买这本书可以去
内容简介
如果你只想阅读一本关于JavaScript的图书,那么《JavaScript编程精解》应该是你的首选。本书由世界级JavaScript程序员撰写,JavaScript之父和多位JavaScript专家鼎力推荐。本书适合作为系统学习JavaScript的参考书,它在写作思路上几乎与现有的所有同类书都不同,打破常规,将编程原理与运用规则完美地结合在一起,而且将所有知识点与一个又一个经典的编程故事融合在一起,读者可以在轻松的游戏式开发中学会JavaScript程序设计,趣味性十足,可操作性极强。 《JavaScript编程精解》全书一共12章:第1~3章介绍了JavaScript的基本语法,旨在帮助读者编写出正确的JavaScript程序,包含数字、算术、字符串、变量、程序结构、控制流程、类型、函数、对象和数组等最基础和最核心的内容;第4~7章讲解了JavaScript编程中的高级技术,目的是帮助读者编写更复杂的JavaScript程序,主要涉及错误处理、函数式编程、面向对象编程、模块化等重要内容;第8~12章则将重心转移到JavaScript环境中可用的工具上,分别详细讲解了正则表达式、与Web编程相关的知识、文档对象模型、浏览器事件和HTTP请求等。
作者简介
Marijn Haverbeke,世界级JavaScript程序员,通晓多种编程语言,在Web开发方面积累了丰富的经验,在JavaScript领域颇有影响力。如今,他专注于动态语言下的数据库系统的研究和Web API的设计。此外,他创建并维护着多个流行的开源项目。
目录
对本书的赞誉
译者序
前言
第1章 JavaScript基础:值、变量、控制流程
1.1 值
1.1.1 数字
1.1.2 算术
1.1.3 字符串
1.1.4 一元操作符
1.1.5 布尔值、比较和布尔逻辑
1.1.6 表达式与语句
1.2 变量
1.3 环境
1.3.1 函数
1.3.2 prompt和confirm
1.3.3 print函数
1.3.4 修改环境
1.4 程序结构
1.4.1 条件执行
1.4.2 while循环与do循环
1.4.3 缩进代码
1.4.4 for循环
1.4.5 跳出循环
1.4.6 更新变量简便法
1.4.7 使用switch进行调度
1.4.8 大小写
1.4.9 注释
1.5 进一步认识类型
1.5.1 Undefined值
1.5.2 自动类型转换
1.5.3 自动类型转换的风险
1.5.4 进一步了解&&和||
第2章 函数
2.1 剖析函数定义
2.1.1 定义顺序
2.1.2 局部变量
2.1.3 嵌套作用域
2.1.4 栈
2.1.5 函数值
2.1.6 闭包
2.1.7 可选参数
2.2 技巧
2.2.1 避免重复
2.2.2 纯函数
2.2.3 递归
第3章 数据结构:对象与数组
3.1 问题:Emily姨妈家的猫
3.2 基本数据结构
3.2.1 属性
3.2.2 对象值
3.2.3 对象即集合
3.2.4 易变性
3.2.5 对象即集合:数组
3.2.6 方法
3.3 解决关于Emily姨妈家猫的问题
3.3.1 分离段落
3.3.2 找出相关段落
3.3.3 提取猫的名字
3.3.4 完整算法
3.3.5 清理代码
3.3.6 日期表示
3.3.7 日期提取
3.3.8 收集更多信息
3.3.9 数据表示
3.4 更多理论
3.4.1 arguments对象
3.4.2 完成扫尾工作
3.4.3 Math对象
3.4.4 可枚举属性
第4章 错误处理
4.1 问题类型
4.1.1 程序员错误
4.1.2 运行时错误
4.2 处理错误
4.2.1 返回特殊值
4.2.2 异常
4.2.3 异常之后的错误清除
4.2.4 Error对象
4.2.5 未处理的异常
4.2.6 选择性Catch
4.3 自动化测试
第5章 函数式编程
5.1 抽象
5.2 高阶函数
5.2.1 修改函数
5.2.2 归约函数
5.2.3 映射数组
5.3 隐士的悲惨故事
5.3.1 HTML
5.3.2 隐士的文本文件
5.3.3 找出段落
5.3.4 强调与脚注
5.3.5 移动脚注
5.3.6 生成HTML
5.3.7 转化隐士的书
5.4 其他函数技巧
5.4.1 操作符函数
5.4.2 分布应用
5.4.3 组合
第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 this及其作用域
6.2.7 有活力的生命
6.2.8 昆虫移动
6.2.9 更多生命形式
6.2.10 多态性
6.3 更逼真的模拟生态系统
6.3.1 继承
6.3.2 记录能量
6.3.3 添加植物
6.3.4 食草动物
6.3.5 为它带来生命
6.3.6 人工愚蠢
6.4 原型继承
6.4.1 类型定义工具
6.4.2 类型原型
6.4.3 对象的世界
6.4.4 instanceof操作符
6.4.5 混合类型
第7章 模块化
7.1 模块
7.1.1 生态圈例子
7.1.2 模块文件化
7.2 模块的形态
7.2.1 函数作为局部命名空间
7.2.2 模块对象
7.3 接口设计
7.3.1 可预见性
7.3.2 可组合性
7.3.3 分层接口
7.3.4 参数对象
7.4 JS库
第8章 正则表达式
8.1 语法
8.1.1 匹配字符集
8.1.2 匹配单词和字符边界
8.1.3 重复模式
8.1.4 子表达式分组
8.1.5 多选一
8.2 匹配与替换
8.2.1 匹配方法
8.2.2 正则表达式和替换方法
8.2.3 动态创建RegExp 对象
8.3 解析.ini文件
8.4 结论
第9章 Web编程:速成课
9.1 互联网
9.1.1 URL网址
9.1.2 服务器端编程
9.1.3 客户端编程
9.2 Web脚本基础知识
9.2.1 windows对象
9.2.2 document对象
9.2.3 计时器
9.2.4 表单
9.2.5 表单脚本化
9.2.6 自动焦点
9.3 浏览器非兼容性
9.4 延伸阅读
第10章 文档对象模型
10.1 DOM元素
10.1.1 节点链接
10.1.2 节点类型
10.1.3 innerHTML属性
10.1.4 查找节点
10.1.5 创建节点
10.1.6 节点创建辅助函数
10.1.7 移动节点
10.1.8 print实现
10.2 样式表
10.2.1 样式属性
10.2.2 隐藏节点
10.2.3 定位
10.2.4 控制节点大小
10.3 警示语
第11章 浏览器事件
11.1 事件句柄
11.1.1 注册事件句柄
11.1.2 事件对象
11.1.3 鼠标相关事件类型
11.1.4 键盘事件
11.1.5 停止事件
11.1.6 事件对象正规化
11.1.7 跟踪焦点
11.1.8 表单事件
11.1.9 window事件
11.2 示例:实现推箱子
11.2.1 等级输入格式
11.2.2 程序设计
11.2.3 游戏板展示
11.2.4 控制器对象
第12章 HTTP请求
12.1 HTTP协议
12.2 XMLHttpRequest API
12.2.1 创建请求对象
12.2.2 简单的请求
12.2.3 发送异步请求
12.2.4 获取XML数据
12.2.5 读取JSON数据
12.2.6 基本的请求包装
12.3 学习HTTP
译者序
前言
第1章 JavaScript基础:值、变量、控制流程
1.1 值
1.1.1 数字
1.1.2 算术
1.1.3 字符串
1.1.4 一元操作符
1.1.5 布尔值、比较和布尔逻辑
1.1.6 表达式与语句
1.2 变量
1.3 环境
1.3.1 函数
1.3.2 prompt和confirm
1.3.3 print函数
1.3.4 修改环境
1.4 程序结构
1.4.1 条件执行
1.4.2 while循环与do循环
1.4.3 缩进代码
1.4.4 for循环
1.4.5 跳出循环
1.4.6 更新变量简便法
1.4.7 使用switch进行调度
1.4.8 大小写
1.4.9 注释
1.5 进一步认识类型
1.5.1 Undefined值
1.5.2 自动类型转换
1.5.3 自动类型转换的风险
1.5.4 进一步了解&&和||
第2章 函数
2.1 剖析函数定义
2.1.1 定义顺序
2.1.2 局部变量
2.1.3 嵌套作用域
2.1.4 栈
2.1.5 函数值
2.1.6 闭包
2.1.7 可选参数
2.2 技巧
2.2.1 避免重复
2.2.2 纯函数
2.2.3 递归
第3章 数据结构:对象与数组
3.1 问题:Emily姨妈家的猫
3.2 基本数据结构
3.2.1 属性
3.2.2 对象值
3.2.3 对象即集合
3.2.4 易变性
3.2.5 对象即集合:数组
3.2.6 方法
3.3 解决关于Emily姨妈家猫的问题
3.3.1 分离段落
3.3.2 找出相关段落
3.3.3 提取猫的名字
3.3.4 完整算法
3.3.5 清理代码
3.3.6 日期表示
3.3.7 日期提取
3.3.8 收集更多信息
3.3.9 数据表示
3.4 更多理论
3.4.1 arguments对象
3.4.2 完成扫尾工作
3.4.3 Math对象
3.4.4 可枚举属性
第4章 错误处理
4.1 问题类型
4.1.1 程序员错误
4.1.2 运行时错误
4.2 处理错误
4.2.1 返回特殊值
4.2.2 异常
4.2.3 异常之后的错误清除
4.2.4 Error对象
4.2.5 未处理的异常
4.2.6 选择性Catch
4.3 自动化测试
第5章 函数式编程
5.1 抽象
5.2 高阶函数
5.2.1 修改函数
5.2.2 归约函数
5.2.3 映射数组
5.3 隐士的悲惨故事
5.3.1 HTML
5.3.2 隐士的文本文件
5.3.3 找出段落
5.3.4 强调与脚注
5.3.5 移动脚注
5.3.6 生成HTML
5.3.7 转化隐士的书
5.4 其他函数技巧
5.4.1 操作符函数
5.4.2 分布应用
5.4.3 组合
第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 this及其作用域
6.2.7 有活力的生命
6.2.8 昆虫移动
6.2.9 更多生命形式
6.2.10 多态性
6.3 更逼真的模拟生态系统
6.3.1 继承
6.3.2 记录能量
6.3.3 添加植物
6.3.4 食草动物
6.3.5 为它带来生命
6.3.6 人工愚蠢
6.4 原型继承
6.4.1 类型定义工具
6.4.2 类型原型
6.4.3 对象的世界
6.4.4 instanceof操作符
6.4.5 混合类型
第7章 模块化
7.1 模块
7.1.1 生态圈例子
7.1.2 模块文件化
7.2 模块的形态
7.2.1 函数作为局部命名空间
7.2.2 模块对象
7.3 接口设计
7.3.1 可预见性
7.3.2 可组合性
7.3.3 分层接口
7.3.4 参数对象
7.4 JS库
第8章 正则表达式
8.1 语法
8.1.1 匹配字符集
8.1.2 匹配单词和字符边界
8.1.3 重复模式
8.1.4 子表达式分组
8.1.5 多选一
8.2 匹配与替换
8.2.1 匹配方法
8.2.2 正则表达式和替换方法
8.2.3 动态创建RegExp 对象
8.3 解析.ini文件
8.4 结论
第9章 Web编程:速成课
9.1 互联网
9.1.1 URL网址
9.1.2 服务器端编程
9.1.3 客户端编程
9.2 Web脚本基础知识
9.2.1 windows对象
9.2.2 document对象
9.2.3 计时器
9.2.4 表单
9.2.5 表单脚本化
9.2.6 自动焦点
9.3 浏览器非兼容性
9.4 延伸阅读
第10章 文档对象模型
10.1 DOM元素
10.1.1 节点链接
10.1.2 节点类型
10.1.3 innerHTML属性
10.1.4 查找节点
10.1.5 创建节点
10.1.6 节点创建辅助函数
10.1.7 移动节点
10.1.8 print实现
10.2 样式表
10.2.1 样式属性
10.2.2 隐藏节点
10.2.3 定位
10.2.4 控制节点大小
10.3 警示语
第11章 浏览器事件
11.1 事件句柄
11.1.1 注册事件句柄
11.1.2 事件对象
11.1.3 鼠标相关事件类型
11.1.4 键盘事件
11.1.5 停止事件
11.1.6 事件对象正规化
11.1.7 跟踪焦点
11.1.8 表单事件
11.1.9 window事件
11.2 示例:实现推箱子
11.2.1 等级输入格式
11.2.2 程序设计
11.2.3 游戏板展示
11.2.4 控制器对象
第12章 HTTP请求
12.1 HTTP协议
12.2 XMLHttpRequest API
12.2.1 创建请求对象
12.2.2 简单的请求
12.2.3 发送异步请求
12.2.4 获取XML数据
12.2.5 读取JSON数据
12.2.6 基本的请求包装
12.3 学习HTTP
猜您喜欢