本书简介及目录
wwq0327 发布时间: 2013-11-18 09:44,共有 63 人浏览了这个讨论

一幅浓墨重彩的语言画卷,一部推陈出新的技术名著。 全能前端人员必读之经典,全面知识更新必备之佳作。

从驱动全球商业、贸易及管理领域不计其数的复杂应用程序的角度来看,说JavaScript已经成为当今世界上最流行的编程语言一点儿都不为过。 《JavaScript高级程序设计(第3版)》是JavaScript超级畅销书的最新版。本书将对JavaScript追根溯源,从它在最早的Netscape浏览器中诞生谈起,一直谈到今天的它对DOM和Ajax的强大支持。 读者将通过本书掌握如何运用和扩展这门语言,从而更好地满足自己的需求,以及如何实现客户端与服务器的无缝通信,而又不必求助于Java或隐藏的网页框架(frame元素)。 一言以蔽之,本书将教会你在面对各种常见的Web开发问题时,如何拿出自己的JavaScript解决方案。

本书这一版除增加5章全新内容外,其他章节也有较大幅度的增补和修订,新内容篇幅约占三分之一。 全书从JavaScript语言实现的各个组成部分——语言核心、DOM、BOM、事件模型讲起,深入浅出地探讨了面向对象编程、Ajax与Comet服务器端通信,HTML5表单、媒体、Canvas(包括WebGL)及WebWorkers、地理定位、跨文档传递消息、客户端存储(包括IndexedDB)等新API,还介绍了离线应用和与维护、性能、部署相关的最佳开发实践。附录展望了未来的API和ECMAScriptHarmony规范。 本书适合有一定编程经验的Web应用开发人员阅读,也可作为高校及社会实用技术培训相关专业课程的教材。

作者介绍

尼古拉斯·泽卡斯 世界顶级Web技术专家。……

版权声明

Original edition, entitled Professional JavaScript for Web Developers 3rd Edition, by Nicholas C. Zakas,ISBN 978-1-118-02669-4, published by John Wile……

20多年的职业生涯,我也长出了白头发。回首往事,曾经对我的职业道路产生过重要影响的技术和人历历在目。如果让我只说一种技术,一种对我产生了最大正面影响的技术,那么就是JavaScript。说实话,我也并非一直都是JavaScript的信徒。跟许多人一样,我以前也把它当作一门玩具语言,认为它只能用来做一……

前言

前 言 从驱动全球商业、贸易及管理领域不计其数的复杂应用程序的角度来看,说JavaScript已经成为当今世界上最流行的编程语言一点儿都不为过。 JavaScript是基于Java的一种非常松散的面向对象语言,也是Web开发中极受欢迎的一门语言。JavaScript,尽管它的语法和编程风格与Java……

第1章 JavaScript简介

本章内容 JavaScript历史回顾 JavaScript是什么 JavaScript与ECMAScript的关系 JavaScript的不同版本 JavaScript诞生于1995年。当时,它的主要目的是处理以前由服务器端语言(如Perl)负责的一些输入验证操作。在JavaScript问世之前……

第2章 在HTML中使用JavaScript

本章内容 使用[HTML_REMOVED]元素 嵌入脚本与外部脚本 文档模式对JavaScript的影响 考虑禁用JavaScript的场景 只要一提到把JavaScript放到网页中,就不得不涉及Web的核心语言——HTML。在当初开发JavaScript的时候,Netscape要解决的一个重要问题就是如何……

第3章 基本概念

本章内容 语法 数据类型 流控制语句 理解函数 任何语言的核心都必然会描述这门语言最基本的工作原理。而描述的内容通常都要涉及这门语言的语法、操作符、数据类型、内置功能等用于构建复杂解决方案的基本概念。如前所述,ECMA-262通过叫做ECMAScript的“伪语言”为我们描述了JavaScript……

第4章 变量、作用域和内存问题

本章内容 理解基本类型和引用类型的值 理解执行环境 理解垃圾收集 按照ECMA-262的定义,JavaScript的变量与其他语言的变量有很大区别。JavaScript变量松散类型的本质,决定了它只是在特定时间用于保存特定值的一个名字而已。由于不存在定义某个变量必须要保存何种数据类型值的规则,变量……

第5章 引用类型

本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型和基本包装类型 引用类型的值(对象)是引用类型的一个实例。在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起。它也常被称为类,但这种称呼并不妥当。尽管ECMAScript从技术上讲是一门面……

第6章 面向对象的程序设计

本章内容 理解对象属性 理解并创建对象 理解继承 面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。前面提到过,ECMAScript中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。 ECMA-2……

第7章 函数表达式

本章内容 函数表达式的特征 使用函数实现递归 使用闭包定义私有变量 函数表达式是JavaScript中的一个既强大又容易令人困惑的特性。第5章曾介绍过,定义函数的方式有两种:一种是函数声明,另一种就是函数表达式。函数声明的语法是这样的。 function functionName(arg0, ar……

第8章 BOM

本章内容 理解window对象——BOM的核心 控制窗口、框架和弹出窗口 利用location对象中的页面信息 使用navigator对象了解浏览器 ECMAScript是JavaScript的核心,但如果要在Web中使用JavaScript,那么BOM(浏览器对象模型)则无疑才是真正的核心。BO……

第9章 客户端检测

本章内容 使用能力检测 用户代理检测的历史 选择检测方式 浏览器提供商虽然在实现公共接口方面投入了很多精力,但结果仍然是每一种浏览器都有各自的长处,也都有各自的缺点。即使是那些跨平台的浏览器,虽然从技术上看版本相同,也照样存在不一致性问题。面对普遍存在的不一致性问题,开发人员要么采取迁就各方的“最……

第10章 DOM

本章内容 理解包含不同层次节点的DOM 使用不同的节点类型 克服浏览器兼容性问题及各种陷阱 DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口)。DOM描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。DOM脱胎于Netscape及微软公司创始的DH……

第11章 DOM扩展

本章内容 理解Selectors API 使用HTML5 DOM扩展 了解专有的DOM扩展 尽管DOM作为API已经非常完善了,但为了实现更多的功能,仍然会有一些标准或专有的扩展。2008年之前,浏览器中几乎所有的DOM扩展都是专有的。此后,W3C着手将一些已经成为事实标准的专有扩展标准化并写入规……

第12章 DOM2和DOM3

本章内容 DOM2和DOM3的变化 操作样式的DOM API DOM遍历与范围 DOM1级主要定义的是HTML和XML文档的底层结构。DOM2和DOM3级则在这个结构的基础上引入了更多的交互能力,也支持了更高级的XML特性。为此,DOM2和DOM3级分为许多模块(模块之间具有某种关联),分别描述了……

第13章 事件

本章内容 理解事件流 使用事件处理程序 不同的事件类型 JavaScript与HTML之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用侦听器(或处理程序)来预订事件,以便事件发生时执行相应的代码。这种在传统软件工程中被称为观察员模式的模型,支持页面的行为(……

第14章 表单脚本

本章内容 理解表单 文本框验证与交互 使用其他表单控制 Jav aScript最初的一个应用,就是分担服务器处理表单的责任,打破处处依赖服务器的局面。尽管目前的Web和JavaScript已经有了长足的发展,但Web表单的变化并不明显。由于Web表单没有为许多常见任务提供现成的解决手段,很多开发人……

第15章 使用Canvas绘图

本章内容 理解[HTML_REMOVED]元素 绘制简单的2D图形 使用WebGL绘制3D图形 不用说,HTML5添加的最受欢迎的功能就是[HTML_REMOVED]元素。这个元素负责在页面中设定一个区域,然后就可以通过JavaScript动态地在这个区域中绘制图形。[HTML_REMOVED]元素最早是由苹果公司推出的,当时主要用……

第16章 HTML5脚本编程

本章内容 使用跨文档消息传递 拖放API 音频与视频 本书前面讨论过,HTML5规范定义了很多新HTML标记。为了配合这些标记的变化,HTML5规范也用显著篇幅定义了很多JavaScript API。定义这些API的用意就是简化此前实现起来困难重重的任务,最终简化创建动态Web界面的工作。……

第17章 错误处理与调试

本章内容 理解浏览器报告的错误 处理错误 调试JavaScript代码 由于JavaScript本身是动态语言,而且多年来一直没有固定的开发工具,因此人们普遍认为它是一种最难于调试的编程语言。脚本出错时,浏览器通常会给出类似于“object expected”(缺少对象)这样的消息,没有上下文信息……

第18章 JavaScript与XML

本章内容 检测浏览器对XML DOM的支持 理解JavaScript中的XPath 使用XSLT处理器 曾几何时,XML一度成为存储和通过因特网传输结构化数据的标准。透过XML的发展,能够清晰地看到Web技术发展的轨迹。DOM规范的制定,不仅是为了方便在Web浏览器中使用XML,也是为了在桌面及服……

第19章 E4X

本章内容 E4X新增的类型 使用E4X操作XML 语法的变化 2002年,由BEA Systems为首的几家公司建议为ECMAScript增加一项扩展,以便在这门语言中添加原生的XML支持。2004年6月,E4X(ECMAScript for XML)以ECMA-357标准的形式发布;2005年1……

第20章 JSON

本章内容 理解JSON语法 解析JSON 序列化JSON 曾经有一段时间,XML是互联网上传输结构化数据的事实标准。Web服务的第一次浪潮很大程度上都是建立在XML之上的,突出的特点是服务器与服务器间通信。然而,业界一直不乏质疑XML的声音。不少人认为XML过于烦琐、冗长。为解决这个问题,也涌现了……

第21章 Ajax与Comet

本章内容 使用XMLHttpRequest对象 使用XMLHttpRequest事件 跨域Ajax通信的限制 2005年,Jesse James Garrett发表了一篇在线文章,题为“Ajax: A new Approach to Web Applications”(http://www.ada……

第22章 高级技巧

本章内容 使用高级函数 防篡改对象 Yielding Timers JavaScript是一种极其灵活的语言,具有多种使用风格。一般来说,编写JavaScript要么使用过程方式,要么使用面向对象方式。然而,由于它天生的动态属性,这种语言还能使用更为复杂和有趣的模式。这些技巧要利用ECMAScri……

第23章 离线应用与客户端存储

本章内容 进行离线检测 使用离线缓存 在浏览器中保存数据 支持离线Web应用开发是HTML5的另一个重点。所谓离线Web应用,就是在设备不能上网的情况下仍然可以运行的应用。HTML5把离线应用作为重点,主要是基于开发人员的心愿。前端开发人员一直希望Web应用能够与传统的客户端应用同场竞技,起码做到……

第24章 最佳实践

本章内容 可维护的代码 保证代码性能 部署代码 自从2000以来,Web开发方面的种种规范、条例正在高速发展。Web开发过去曾是荒芜地带,里面东西还都凑合,而现在已经演化成了完整的研究规范,并建立了种种最佳实践。随着简单的网站成长为更加复杂的Web应用,同时Web爱好者成为了有收入的专业人士,We……

第25章 新兴的API

本章内容 创建平滑的动画 操作文件 使用Web Workers在后台执行JavaScript 随着HTML5的出现,面向未来Web应用的JavaScript API也得到了极大的发展。这些API没有包含在HTML5规范中,而是各自有各自的规范。但是,它们都属于“HTML5相关的API”。本章介绍的……

附录A ECMAScript Harmony

■ 在2004年Web开发重新焕发生机的大背景下,浏览器开发商和其他相关组织之间进行了一系列会谈,讨论应该如何改进JavaScript。ECMA-262第四版的制定工作就建立在两大相互竞争的提案基础上:一个是Netscape的JavaScript 2.0,另一个是Microsoft的JScript.……

附录B 严格模式

■ ECMAScript 5最早引入了“严格模式”(strict mode)的概念。通过严格格式,可以在函数内部选择进行较为严格的全局或局部的错误条件检测。使用严格模式的好处是可以提早知道代码中存在的错误,及时捕获一些可能导致编程错误的ECMAScript行为。 理解严格模式的规则非常重要,ECMA……

附录C JavaScript库

■ JavaScript库可以帮助我们跨越浏览器差异的鸿沟,并对复杂的浏览器功能提供更为简便的访问方式。程序库有两种形式:通用库和专用库。通用JavaScript库提供了对常见浏览器功能的访问,可以作为网站或者Web应用的基础。专用库则只做特定的事,仅用于网站或者Web应用的某些部分。本附录给出了这……

附录D JavaScript工具

■ 写JavaScript代码和用其他语言编写代码很像,使用工具能够提高工作效率。JavaScript开发人员可用的工具数量一度爆发性增长,使得查找问题、优化和部署基于JavaScript的解决方案更为简单。其中一些工具是专为JavaScript设计使用的,而其他一些可以在浏览器之外运行。本附录对其……

分享到:
wwq0327

发言时间:2013-11-18 21:20

多看AAP上显示我今天看到17%了,但后面内容越来越复杂,前面的内容没有敲代码的,后面的代码会越来越多,还得敲代码,会慢下来了,争取十天之类看完,然后再根据需要选择性的重看。


你需要 登录 才能进行回复。

所属微课
JavaScript高级程序设计(第3版)学习分享

网站除了具有良好的模块设计之外,还需要一个优秀的交互体验,这个功能不是后台代码能够完全解决的。一直以来,我都比较注重后台Django代码的编写,而前端的体验,只

学友:3 讨论:1 浏览数:706

wwq0327创建于2013-11-18