JavaScript高级程序设计-第2版

节选

[

《JavaScript高级程序设计(第2版)》在上一版基础上进行了大幅度更新和修订,融入了近几年来JavaScript应用发展的*新成果,几乎涵盖了所有需要理解的重要概念和*新的JavaScript应用成果。从颇具深度的JavaScript语言基础到作用域(链),从引用类型到面向对象编程,从极其灵活的匿名函数到闭包的内部机制,从浏览器对象模型(BOM)、文档对象模型(DOM)到基于事件的Web脚本设计,从XML(E4X)到Ajax及JSON,从高级前端开发技术到前沿的客户端存储,从*佳编程实践到即将成为现实的API,直至JavaScript未来的发展,全景式地展示了JavaScript高级程序设计的方方面面。《JavaScript高级程序设计(第2版)》适合不同层次的JavaScript/Web开发人员阅读参考,也可作为高校相关专业课程的教材。

]

相关资料

[

“如果你像我一样,想学习或者熟练掌握今天最热门的web开发技术,本书是一个绝佳的起点,适合在所有ajax图书之前的阅读。”

        ——j. ambrose little, microsoft mvp

  “本书作者显然非常了解读者的需要,落笔切中要害,行文信息密集。单单对客户端通信、web服务、正则表达式、dom、xml处理等现代javascript技术的详细讲解,就已经物超所值。”

        ——javascriptkit.com

]

本书特色

[

《JavaScript高级程序设计(第2版)》:JavaScript经典教程Amazon超级畅销书前端开发人员**JavaScrpt的应用在广度和深度上日益扩大和加深,前端开发亟待掌握的JavaScrpt技能也越来越具有挑战性。这个新版本几乎全部更新、重写了上一版的内容,融入了作者近几年来奋战在前端开发一线的宝贵经验,是学习和提高JavaScrpt技能的必读经典。《JavaScript高级程序设计(第2版)》不仅全面深入地讲述了,JavaScript的基本概念,阑释了它特有的面向对象和继承的机制.还详尽讨论了JavaScrpt实现的各个组成部分。在以大量篇幅全景式剖析ECMAScript和DOM的过程中,各个级别的DOM规范在作者笔下纷至沓来,诸如事件模拟、XML解析、XPath查询等高级主题也讲得分外清楚。此外,错误处理与调试、Ajax与JSON,乃至客户端存储、未来的API等章节也都条理清晰、异彩纷呈。《JavaScript高级程序设计(第2版)》适合有一定编程经验的前端开发人员阅读,也可作为高校相关专业课程的教材。一幅浓墨重彩的语言画卷,一部推陈出新的技术名著

]

内容简介

[

本书在上一版基础上进行了大幅度更新和修订,融入了近几年来javascript应用发展的*新成果,几乎涵盖了所有需要理解的重要概念和*新的javascript应用成果。从颇具深度的javascript语言基础到作用域(链),从引用类型到面向对象编程,从极其灵活的匿名函数到闭包的内部机制,从浏览器对象模型(bom)、文档对象模型(dom)到基于事件的web脚本设计,从xml(e4x)到ajax及json,从高级前端开发技术到前沿的客户端存储,从*佳编程实践到即将成为现实的api,直至javascript未来的发展,全景式地展示了javascript高级程序设计的方方面面。
  本书适合不同层次的javascript/web开发人员阅读参考,也可作为高校相关专业课程的教材。

]

作者简介

[

作者:(美国)尼古拉斯·泽卡斯(Nicholas C.Zakas) 译者:李松峰 曹力尼古拉斯·泽卡斯(Nicholas C.Zakas),世界顶级Web技术专家,现为Yahoo!公司首席前端工程师尼古拉斯拥有丰富的Web开发和界面设计经验.曾经参与许多世界级大公司的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工具

封面

JavaScript高级程序设计-第2版

书名:JavaScript高级程序设计-第2版

作者:尼古拉斯·泽卡斯(Nicholas C.Zakas)

页数:600

定价:¥89.0

出版社:人民邮电出版社

出版日期:2010-07-01

ISBN:9787115230959

PDF电子书大小:105MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注