JavaScript高级程序设计第三版.CHM【带实例】
从驱动全球商业、贸易及管理领域不计其数的复杂应用程序的角度来看,说 JavaScript 已经成为当今世界上最流行的编程语言一点儿都不为过。
JavaScript 是一种非常松散的面向对象语言,也是 Web 开发中极受欢迎的一门语言。 JavaScript,尽管它的语法和编程风格与 Java 都很相似,但它却不是 Java 的“轻量级”版本,甚至与 Java 没有任何关系。 JavaScript 是一种全新的动态语言,它植根于全球数亿网民都在使用的 Web 浏览器之中,致力于增强网站和 Web 应用程序的交互性。
在本书中,我们将对 JavaScript 追根溯源,从它在最早的 Netscape 浏览器中诞生谈起,一直谈到今天的它对 DOM 和 Ajax 的强大支持。读者将通过本书掌握如何运用和扩展这门语言,从而更好地满足自己的需求,以及如何实现客户端与服务器的无缝通信,而又不必求助于 Java 或隐藏的网页框架(frame元素)。一言以蔽之,本书将教会你在面对各种常见的 Web 开发问题时,如何拿出自己的 JavaScript 解决方案。
本书读者对象
本书将下列三类人员作为目标读者:
(1) 熟悉面向对象编程、经验丰富而又打算学习 JavaScript 的开发人员, JavaScript 毕竟与 Java、 C++等传统 OO 语言存在着诸多联系;
(2) 有意提升自己网站和 Web 应用程序易用性的 Web 开发人员;
(3) 希望全面深入地理解这门语言的初级 JavaScript 开发人员。
此外,本书也适合熟悉下列相关技术的读者阅读:
(1) Java
(2) PHP
(3) ASP.NET
(4) HTML
(5) CSS
(6) XML
本书不适合没有计算机基础知识的初学者,也不适合只想为网站添加简单交互功能的读者。建议这些朋友学习阅读 Beginning JavaScript, 3rd Edition(Wiley, 2007)一书①。
① 本书中文版《JavaScript 入门经典(第 3 版)》已经由清华大学出版社出版。——译者注(以下脚注如无特殊说明,均为译者注)
本书内容
本书提供了 JavaScript 开发人员必须掌握的内容,全面涵盖了 JavaScript 的各种高级、有用的特性。
本书首先介绍了 JavaScript 的起源及其发展现状,随后讨论了构成 JavaScript 实现的各个组成部分,重点讲解了
ECMAScript 和 DOM 标准。此外,还对不同 Web 浏览器的 JavaScript 实现之间存在的差异,给出了相应的说明。
在此基础上,本书从讲解 JavaScript 的基本概念入手,探讨了 JavaScript 面向对象程序设计和继承的方式,以及如何在 HTML
等标记语言中使用它。在深入剖析了事件和事件处理之后,又解释了各种浏览器检测技术。本书还探讨了 HTML5、 Selectors API 和
File API 等一系列新 API。
本书最后一部分专门讨论了高级主题,涉及性能和内存优化、最佳实践以及对 JavaScript 未来的展望。
本书结构
本书共 25 章,各章简介如下。
第 1 章“ JavaScript 简介”,讲述了 JavaScript 的起源:因何而生,如何发展,现状如何。涉及的概念主要有
JavaScript 与 ECMAScript 之间的关系、 DOM(Document Object
Model,文档对象模型)、BOM(Browser Object Model,浏览器对象模型)。此外,还将讨论 ECMA(European
ComputerManufacturer’s Association,欧洲计算机制造商协会)和 W3C(World Wide Web
Consortium,万维网联盟)制定的一些相关标准。
第 2 章“在 HTML 中使用 JavaScript”,介绍了如何在 HTML 中使用 JavaScript
创建动态网页。这一章不仅展示了在网页中嵌入 JavaScript 的各种方式,还讨论了 JavaScript
内容类型(content-type)及其与<script>元素的关系。
第 3 章“基本概念”,讨论了 JavaScript 语言的基本概念,包括语法和流控制语句。这一章也分析了 JavaScript 与其他基于 C 的语言在语法上的相同和不同之处,还介绍了与内置操作符有关的类型转换问题。
第 4 章“变量、作用域和内存问题”,探讨了 JavaScript
如何处理其松散类型的变量。这一章还讨论了原始值和引用值之间的差别,以及与变量有关的执行环境的相应内容。最后,通过介绍
JavaScript的垃圾收集机制,解释了变量在退出作用域时释放其内存的问题。
第 5 章“引用类型”,详尽介绍了 JavaScript 内置的所有引用类型,如 Object 和 Array。这一章对 ECMA-262 规范中描述的每一种引用类型既做了理论上的阐释,又从浏览器实现的角度给出了介绍。
第 6 章“面向对象的程序设计”,讲述了在 JavaScript 中如何实现面向对象的程序设计。由于JavaScript
没有类的概念,因此这一章从对象创建和继承的层面上展示了一些流行的技术。此外,这一章还讲解了函数原型的概念,并对函数原型与整个面向对象方法的关系进行了探讨。
第 7 章“函数表达式”,集中介绍了 JavaScript 中最为强大的一个特性——函数表达式。相关的内容涉及闭包、 this 对象的角色、模块模式和创建私有对象成员等。
第 8 章“ BOM”,介绍 BOM(Browser Object
Model,浏览器对象模型),即负责处理与浏览器自身有关的交互操作的对象集合。这一章全面介绍了每一个 BOM 对象,包括 window、
document、location、 navigator 和 screen。
第 9 章“客户端检测”,讨论了检测客户端机器及其支持特性的各种手段,包括特性检测及用户代理字符串检测的不同技术。这一章还就每种手段的优缺点及适用情形给出了详细说明。
第 10 章“ DOM”,介绍 DOM (Document Object Model,文档对象模型),即 DOM1 规定的
JavaScript中的 DOM 对象。这一章也简要介绍了 XML 及其与 DOM 的关系,为深入探讨所有 DOM
规范及其定义的操作网页的方式奠定了基础。
第 11 章“ DOM 扩展”,介绍了其他 API 以及浏览器本身为 DOM 添加的各种功能。涉及内容包括Selectors API、 Element Traversal API 和 HTML5 扩展。
第 12 章“ DOM2 和 DOM3”,在前两章的基础上继续探讨了 DOM2 和 DOM3 中新增的 DOM 属性、方法和对象。这一章还讨论了 IE 与其他浏览器的兼容性问题。
第 13 章“事件”,解释了 JavaScript 中事件的本质,对遗留机制的支持,以及 DOM 对事件机制的重新定义。这一章讨论了多种设备,包括 Wii 和 iPhone。
第 14 章“表单脚本”,讲述如何使用 JavaScript 增强表单的交互性,突破浏览器的局限性。这一章的讨论主要围绕单个表单元素如文本框、选择框,以及围绕数据验证和操作展开。
第 15 章“使用 Canvas 绘图”,讨论了<canvas>标签以及如何通过它来动态绘图。不仅涵盖 2D上下文,也将讨论 WebGL(3D)上下文,可以为创建动画和游戏夯实基础。
第 16 章“ HTML5 脚本编程”,介绍了 HTML5 规定的 JavaScript API,涉及跨文档传递消息、拖放 API 和以编程方式控制<audio>和<video>元素,以及管理历史状态。
第 17 章“错误处理与调试”,讨论浏览器如何处理 JavaScript 代码错误,并展示了一些处理错误的方式。这一章针对每种浏览器分别讨论了相应的调试工具和技术,还给出了简化调试工作的建议。
第 18 章“ JavaScript 与 XML”,展示了 JavaScript 中用于读取和操作 XML(eXtensible
MarkupLanguage,可扩展标记语言)的特性。这一章分析了不同浏览器提供的 XML
支持和对象的差异,给出了编写跨浏览器代码的简易方法。此外,这一章还介绍了用于在客户端转换 XML数据的 XSLT
(eXtensibleStylesheet LanguageTransformations,可扩展样式表语言转换)技术。
第 19 章“ E4X”,讨论了 E4X(ECMAScript for XML, ECMAScript 中的 XML 扩展) ;设计 E4X 的出发点是简化 XML 处理任务。这一章探讨了在处理 XML 时,使用 E4X 与使用 DOM 相比有哪些优势。
第 20 章“ JSON”,介绍了作为 XML 替代格式的 JSON,包含浏览器原生支持的 JSON 解析和序列化,以及使用 JSON 时要注意的安全问题。
第 21 章“ Ajax 与 Comet”,讲解了常用的 Ajax 技术,包括使用 XMLHttpRequest 对象及
CORS(Cross-Origin Resource Sharing,跨来源资源共享) API 实现跨域 Ajax
通信。这一章展示了浏览器在实现与支持方面存在的差异,同时也给出了一些使用建议。
第 22 章“高级技巧”,深入讲解了一些 JavaScript 中较复杂的模式,包括函数柯里化(currying)、部分函数应用和动态函数。这一章还讨论了如何创建自定义的事件框架和使用 ECMAScript 5 创建防篡改对象。
第 23 章“离线应用与客户端存储”,讨论了如何检测应用离线以及在客户端机器中存储数据的各种技术。先从受到最广泛支持的特性 cookie 谈起,继而介绍了新兴的客户端存储技术,如 Web Storage和 IndexedDB。
第 24 章“最佳实践”,探讨了在企业级环境中使用 JavaScript 的各种方式。其中,着眼于提高可维护性的内容包括编码技巧、格式化和通用编程实践。这一章还介绍了改善代码执行性能及速度优化的一些技术。最后讨论了部署问题,包括如何创建构建过程。
第 25 章“新兴的 API”,介绍了为增强浏览器中的 JavaScript 而创建的新 API。虽然这些 API 还没有得到完整或全面的支持,但它们已经崭露头角,有些浏览器也已经部分地实现了这些 API。这一章的内容主要是 Web 计时和文件 API。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JavaScript高级程序设计第三版.CHM格式下载地址 http://pan.baidu.com/s/1citN90 密码:8pum
JavaScript高级程序设计第三版.PDF格式下载地址 http://pan.baidu.com/s/1c2d6ci0 密码: z4kd
JavaScript高级程序设计第三版 在线阅读
JavaScript高级程序设计第三版.CHM【带实例】的更多相关文章
- javascript高级程序设计第三版书摘
在HTML 中使用JavaScript <script>元素 在使用<script>元素嵌入 JavaScript 代码时,只须为<script>指定 type 属 ...
- 22.1 高级函数【JavaScript高级程序设计第三版】
函数是JavaScript 中最有趣的部分之一.它们本质上是十分简单和过程化的,但也可以是非常复杂和动态的.一些额外的功能可以通过使用闭包来实现.此外,由于所有的函数都是对象,所以使用函数指针非常简单 ...
- 21.1 XMLHttpRequest 对象【JavaScript高级程序设计第三版】
IE5 是第一款引入XHR 对象的浏览器.在IE5 中,XHR 对象是通过MSXML 库中的一个ActiveX对象实现的.因此,在IE 中可能会遇到三种不同版本的XHR 对象,即MSXML2.XMLH ...
- 10.1.2 Document类型【JavaScript高级程序设计第三版】
JavaScript 通过Document 类型表示文档.在浏览器中,document 对象是HTMLDocument(继承自Document 类型)的一个实例,表示整个HTML 页面.而且,docu ...
- JavaScript高级程序设计第三版-读书笔记(1-3章)
这是我第一次用markdown,也是我第一次在网上记录我自己的学习过程. 第一章 JavaScript主要由以下三个不同的部分构成 ECMAScript 提供核心语言功能 DOM 提供访问 ...
- 14.5 富文本编辑【JavaScript高级程序设计第三版】
富文本编辑,又称为WYSIWYG(What You See Is What You Get,所见即所得).在网页中编辑富文本内容,是人们对Web 应用程序最大的期待之一.虽然也没有规范,但在IE 最早 ...
- DOM 操作技术【JavaScript高级程序设计第三版】
很多时候,DOM 操作都比较简明,因此用JavaScript 生成那些通常原本是用HTML 代码生成的内容并不麻烦.不过,也有一些时候,操作DOM 并不像表面上看起来那么简单.由于浏览器中充斥着隐藏的 ...
- JavaScript高级程序设计第三版学习笔记(一)之数据类型区分详谈
null.NaN.undefined三者的区别是什么? 在初次接触到JavaScript的时候,傻傻的分不清null.NaN.undefined三者到底区别何在,在实际的项目开发中也因为这个问题而困惑 ...
- 4.2 执行环境及作用域【JavaScript高级程序设计第三版】
执行环境(execution context,为简单起见,有时也称为“环境”)是JavaScript 中最为重要的一个概念.执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为.每个执行环 ...
随机推荐
- Jvm方法区以及static的内存分配图
前面的几篇都没有太明确地指出 方法区 是什么?现在通过一些资料的收集和学习,下面做一些总结 什么是方法区: 方法区是系统分配的一个内存逻辑区域,是JVM在装载类文件时,用于存储类型信息的(类的描述信息 ...
- css属性(常用属性整理)
摘要:本文是我在学习前端的过程中整理的一些常用css属性,部分是css3新增的,因能力有限,文中如有错误,欢迎提出,我会及时修改.希望对大家有帮助! CSS属性 CSS属性 1 1. css颜色属性 ...
- Android Studio 导入 AOSP 源码
有了 AOSP 源码,接下来就是如何看了,可以直接文本看,可以用 Source Insight,我当然选择 Android Studio,Android Studio 是我熟悉且十分强大的工具.问题来 ...
- SQL Server 2008R2 18456错误解决方案
SQL Server 2008R2 18456错误解决方案 微软解释说,因密码或用户名错误而使身份验证失败并导致连接尝试被拒时,类似下面的消息将返回到客户端:“用户 '<user_name> ...
- bootstrap中文文档阅读记录
2017年1月12日20:26:26http://v3.bootcss.com/components/#navbar
- C#保存图片到数据库并读取显示图片的方法
private void button2_Click_1(object sender, System.EventArgs e) { string pathName; if (this.openFile ...
- Redis 基础概念和命令
Redis 是什么 Redis是一种基于键值对(key-value)的NoSQL数据库. 为什么使用Redis 速度快 Redis的时间颗粒度一般是微秒,慢查询的默认值是10 000微秒,即10毫秒. ...
- MSMQ学习笔记二——创建Message Queue队列
一.创建Message Queue队列的主要流程 1.定义MQQUEUEPROPS 结构: 2.设置消息队列属性: 3.初始化MQQUEUEPROPS 结构: 4.调用MQCreateQueue创建队 ...
- word文档快速转换为PPT演示文稿
方法一: 访问http://t.im/pdftoppt,点击继续浏览(会跳转至:https://smallpdf.com/cn/pdf-to-ppt): 打开word文档,设置为“横向”,输出为PDF ...
- leetcode:回溯——permutation-sequence,
1. permutation-sequence 顺序排列第k个序列 The set[1,2,3,…,n]contains a total of n! unique permutations. By l ...