本书教你学习JavaScript的开发知识,每次一步,循序渐进。对于那些具有基本编程技能的开发者,这是一本理想的书籍。从实践中学习是本书的一大特色,是指导程序员使用JavaScript创建Web应用程序的操作指南。
使用文本编辑器、程序和IDE来编写JavaScript代码。
理解和操作6种JavaScript数据类型。
使用文档对象模型获取、创建和修改HTML元素。
验证Web表单的输入并根据这一输入提供反馈。
创建翻滚图像和滚动放映特效。
使用JavaScript操作CSS样式。
使用Ajax开发交互式的Web应用程序。
Steve Suehring 是一位具有广泛的商业和计算机背景的技术顾问,他的广泛经验使其能够在各种功能的组织中工作,并帮助它们创建适合业务需要的计算架构。Steve热衷于写作技术图书和杂志文章,同时也在国际各大用户组织和大会上演讲。不仅如此,Steve还会参加体育运动或者演奏乐器,且颇具水准。
李强 软件公司技术总监,主持开发过多个大型软件项目。工作之余,翻译了多本计算机书籍,如《JavaScript权威指南》,《思科网络技术学院教程:Java编程基础》,《J2ME手机游戏编程入门》,《MySQL开发者SQL权威指南》等,还受邀担任赛迪网校的网络课程培训教师。
无
JavaScript是Web应用程序开发的必备语言。无论是为Web页面添加交互性还是创建整个应用程序,如果没有JavaScript,今天的Web不会是现在这个样子。
JavaScript是具有正式规范的一种基于标准的语言。然而,正如任何Web开发者所告诉你的一样,几乎每个Web浏览器对这个规范的解释都不同。这使得Web开发者的工作更困难。幸运的是,大多数Web浏览器都在逐渐统一它们对JavaScript的核心功能的支持和解释。
本书提供了对JavaScript的介绍,包括它的一些核心功能以及新特性和范型,例如AJAX。今天的Web用户依靠很多不同的平台以及很多不同的浏览器来浏览Web内容。这个事实也是本书涉及开发的每个方面的中心,因此,你将会看到多种浏览器的屏幕截图,以及强调基于标准的而不是特有的JavaScript开发。
本书的第一部分介绍了JavaScript并帮助你开始开发JavaScript。对于JavaScript开发,不需要特殊的工具,因此,你将会看到如何在Microsoft Visual Studio、Eclipse和记事本(或者任何文本编辑器)中创建JavaScript文件。接下来介绍了JavaScript的核心语言和功能,然后是JavaScript和Web浏览器的关系。最后,介绍了AJAX,你将看到如何构建动态的搜索表单。
本书体例和特色
本书按部就班地带领你学习JavaScript编程语言。从本书的开始部分学习,并且按照每个例子和练习进行学习,这将能够帮助你获取有关JavaScript编程语言的知识。
如果你已经有些熟悉JavaScript,你可能试图跳过本书的第1章。然而,第1章介绍了有关JavaScript历史的一些细节,以及本书的一些基本前提,这两部分都有助于理解本书其他部分的讨论。第2章介绍了如何开始使用JavaScript编程。如果你已经熟悉了Web开发,你可能已经有一个Web开发程序,因此你可能想试图跳过第2章。尽管如此,你应该熟悉第2章中用来创建JavaScript程序的模式。
本书包含了一个目录,它有助于你更快地找到特定的部分。每章包含了它所介绍的内容的详细列表。
此外,随书光盘包含了本书PDF文件以及本书中很多示例的源代码。体例含义列表按部就班的练习通过从1开始的分步过程列表来表示参见这些段帮你指出一个特定主题相关信息的其他资源提示/注意提示和注意给出了对于给定主题可能有帮助的一些额外信息内嵌代码内嵌代码即出现在一段中的代码,用斜体表示代码块代码块用不同字体显示,以突出代码
使用随书光盘
随书光盘中包含了本书很多示例的源代码。
所指光盘为英文版原书光盘,中文版并没有附带该光盘。本书所有代码均可在机工新阅读网站(www.cmpreading.com)(wwwhzbook.com)下载。——编辑注示例源代码的用法
下载得到的源代码根据每章来放置,每章一个目录。每章的目录下包含了该章中使用的按部就班练习。有些章还包含了该章中的其他源代码。
使用示例文件
由于JavaScript通常依赖于包含它的Web页面,按部就班的练习的源代码已经分别放到各个目录中。这使得你可以复制和粘贴大量的重复性的HTML,并且关注于把JavaScript输入到示例中。
每章的目录还包含了一个CompletedCode目录,其中包含了完整的示例。你可以打开CompletedCode文件来查看该章中所放置的示例。
获取帮助
为了确保本书的准确性,已经做出了各种努力。如果你遇到问题,请联系如下列出的各种资源来获取帮助。
如果你的问题涉及本书的内容,请首先在Microsoft Press Knowledge Base进行在线搜索,那里提供了本书中已知错误及更正的支持信息,位于如下的Web地址:
wwwmicrosoftcom/mspress/support/searchasp
如果你没有在在线Knowledge Base中找到答案,可按照如下邮件地址发送你的评论和问题到Microsoft Learning Technical Support:mspinput@microsoftcom
本书教你学习JavaScript的开发知识,每次一步,循序渐进。对于那些具有基本编程技能的开发者,这是一本理想的书籍。从实践中学习是本书的一大特色,是指导程序员使用JavaScript创建Web应用程序的操作指南。 使用文本编辑器、程序和IDE来编写JavaScript代码。 理解和操作6种JavaScript数据类型。 使用文档对象模型获取、创建和修改HTML元素。 验证Web表单的输入并根据这一输入提供反馈。 创建翻滚图像和滚动放映特效。 使用JavaScript操作CSS样式。 使用Ajax开发交互式的Web应用程序。 Steve Suehring 是一位具有广泛的商业和计算机背景的技术顾问,他的广泛经验使其能够在各种功能的组织中工作,并帮助它们创建适合业务需要的计算架构。Steve热衷于写作技术图书和杂志文章,同时也在国际各大用户组织和大会上演讲。不仅如此,Steve还会参加体育运动或者演奏乐器,且颇具水准。 李强 软件公司技术总监,主持开发过多个大型软件项目。工作之余,翻译了多本计算机书籍,如《JavaScript权威指南》,《思科网络技术学院教程:Java编程基础》,《J2ME手机游戏编程入门》,《MySQL开发者SQL权威指南》等,还受邀担任赛迪网校的网络课程培训教师。
Steve Suehring:暂无简介
李强:国内知名软件公司产品经理,多年来致力于医疗信息化系统的开发,在Java和.Net编程方面颇有心得。曾在计算机报刊、杂志发表过多篇文章,并有多本计算机译著出版。2005年,翻译出版了《J2ME手机游戏编程入门》,并根据该书主持了J2ME手机游戏开发讲座。
21世纪初,AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)技术的提出和应用,真正掀起了Web 20的革命大潮。
AJAX提供与服务器异步通信的能力,从而使用户从请求、响应的循环中解脱出来。有了AJAX,在用户单击按钮时,我们可以使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来更新相应的UI,而不是刷新整个页面。最重要的是,用户甚至不知道浏览器正在与服务器通信:Web站点看起来是即时响应的。
然而,AJAX离不开客户端脚本编程。AJAX中的“J”就代表着JavaScript语言。JavaScript是Web应用程序开发的必备语言。无论是为Web页面添加交互性还是创建整个应用程序,如果没有JavaScript,今天的Web不会是现在这个样子。
毫无疑问,要在当今的Web应用程序开发领域占据一席之地,不了解和熟悉JavaScript是不行的。这也就是市面上各种JavaScript技术图书不断涌现且受到读者欢迎的原因。
那么,本书有什么不同之处呢?
这是一本带领读者循序渐进地掌握JavaScript Web编程技能的图书,概括起来,它有以下几个显著特色:
面向没有程序设计基础的初学者,讲述从最基础的JavaScript知识到实用的开发技能;
引领读者分步骤地、按部就班地动手实际练习和操作,以掌握知识点和技能;
用每章末尾的练习题来检查对知识点的学习和掌握。
翻译本书的过程中,我们深深地感觉到这是一本不可多得的JavaScript学习教程。通过阅读本书并掌握JavaScript,读者的Web开发技能必将得到很大的提升。
参加翻译本书工作的有李强、关志兴、王建勇、毛立涛、闫柳青、姜巧生、沈海峰、谢扣林、乔义峰、刘查强、王义强。读者朋友在阅读本书的过程中,如果觉得有疑问或不妥之处,可通过reejohn@sohucom联络译者。
李强
2008年5月
译者序
致谢
前言
第一部分JavaScript基础知识
第1章JavaScript超乎你的想象
11JavaScript简史
111进入Internet Explorer 3
112随后就有了ECMAScript
113这么多标准
114DOM
12JavaScript程序的组成
13把JavaScript放到Web页面上
14JavaScript可以做什么
15JavaScript不能做什么
16使用JavaScript的提示
161JavaScript置于何处
162站点应该支持哪些浏览器
17练习题
第2章使用JavaScript开发
21JavaScript开发选择
22配置环境
23用Visual Studio 2005编写
JavaScript
231使用Visual Studio 2005开发第一
个Web(和JavaScript)项目
232通过Visual Studio 2005使用
外部JavaScript文件
24使用Eclipse编写JavaScript
241使用Eclipse开发你的第一个
Web(和JavaScript)项目
242在Eclipse内使用外部JavaScript
文件
25不使用IDE编写JavaScript
251使用记事本开发第一个Web
(和JavaScript)项目
252不用IDE而使用外部JavaScript
文件
26调试JavaScript
27练习题
第3章JavaScript语法和语句
31一些常识
311区分大小写
312空白
313注释
314分号
315换行
316正确放置JavaScript
32JavaScript语句
321语句内是什么
322JavaScript语句的两种类型
33JavaScript的保留字
34函数简介
35练习题
第4章使用变量和数据
41JavaScript中的数据类型
411数字
412字符串
413布尔值
414空
415未定义
416对象
417数组
42定义并使用变量
421声明变量
422变量类型
423变量作用域
424引用和垃圾回收机制
43类型转换
431数字转换
432字符串转换
433布尔值转换
44练习题
第5章使用操作符和表达式
51操作符介绍
52加法操作符
53乘法操作符
54位操作符
55相等操作符
56关系操作符
561in操作符
562instanceof操作符
57一元操作符
571自增和自减
572用加号转换为一个数字
573使用减号创建一个负数
574按位求反和逻辑非
575delete操作符
576typeof操作符
577void操作符
58赋值操作符
59练习题
第二部分应用JavaScript
第6章条件和循环控制流
61if如何使用
611if语句的语法
612Windows Internet Explorer 7中的
prompt()函数
613复合条件
62else if和else语句
63多层条件语句
64三元条件语句
65switch
66使用while循环
661while语句
662dowhile语句
67使用for循环
671for循环
672forin循环
673for eachin循环
68使用条件语句验证表单
69练习题
第7章使用函数
71什么是函数
711函数变量
712再谈变量作用域
713return值
714函数调用的更多内容
715匿名函数(函数直接量)
72方法
73对话框函数概览
74练习题
第8章JavaScript中的对象
81面向对象的开发
811对象
812属性
813方法
814类
82创建对象
821为方法添加属性
822为对象添加方法
83关于数组的更多内容
831length属性
832数组方法
84内建对象
85练习题
第9章浏览器对象模型
91浏览器简介
911浏览器层级
912事件
92认识self
93获取有关屏幕的信息
94使用navigator对象
95location对象
96history对象
97练习题
第10章文档对象模型
101文档对象模型定义
1011DOM层级0:遗留的
DOM
1012DOM层级1和DOM
层级2
1013作为树的DOM
1014操作节点
102获取元素
1021通过ID访问
1022通过标签名访问
103操作属性
1031察看属性
1032设置属性
104创建元素
1041添加文本
1042添加元素并设置ID
105删除元素
106练习
第三部分把JavaScript整合到设计
第11章和Web表单一起使用
JavaScript
111JavaScript和Web表单
112获取表单数据
113使用表单信息
1131使用选择框
1132使用复选框
1133使用单选按钮
114预先验证表单数据
1141绕过JavaScript验证
1142验证一个文本字段
115练习题
第12章创建和消费Cookie
121初探cookie
122使用JavaScript创建cookie
1221一个简单的cookie
1222设置cookie的过期日期
1223设置cookie路径
1224设置cookie的域
1225操作安全cookie
123使用JavaScript读取cookie
124删除cookie
125练习题
第13章用JavaScript操作图像
131使用图像翻滚
1311一个简单的翻滚
1312更好的办法
132预载入图像
133操作滚动放映
1331创建一个显示
1332向后移动
134使用图像映射
135练习题
第14章浏览器和JavaScript
141理解窗口事件
1411事件模型
1412一个通用事件处理程序
142检测关于访问者的事情
1421userAgent属性简介
1422功能测试
1423保证JavaScript避开较早的
浏览器
1424其他的navigator属性和
方法
143打开、关闭和调整窗口
1431打开和关闭窗口实践
1432窗口打开最佳实践
1433不需要JavaScript
1434调整和移动窗口
144定时器
145练习题
第15章JavaScript和CSS
151什么是CSS
1511属性和选择器
1512应用CSS
152JavaScript和CSS之间的
关系
1521根据ID来设置元素样式
1522根据类型设置元素样式
1523使用JavaScript获取
元素样式
1524使用JavaScript修改
样式表
153练习题
第16章JavaScript错误处理
161错误处理概览
162使用try/catch
163使用onerror事件
1631把onerror绑定到window
对象
1632忽略错误
1633把onerror绑定到image
对象
164练习题
第四部分AJAX及其他
第17章JavaScript和XML
171和JavaScript一起使用XML
1711XML文档的一个例子
1712使用JavaScript载入一个XML
文档
172一点展望
173练习题
第18章初探AJAX
181AJAX简介
182XMLHttpRequest对象
1821实例化XMLHttpRequest
对象
1822发送一个AJAX请求
1823处理一个AJAX响应
1824处理XML请求
1825使用JSON
1826处理头部
1827使用POST方法
183案例学习:动态搜索和更新
184练习题
第19章深入AJAX
191使用XML和CSS创建一个
HTML表格
192使用CSS样式化表格
193创建一个动态下拉框
194从用户和AJAX接受输入
195练习题
附录练习题解答