《网站开发案例课堂:JavaScript+jQuery动态网页设计案例课堂》作者根据长期教学中获得的网页设计教学经验,完整、详尽地介绍了JavaScript + jQuery动态网页设计的技术。
《网站开发案例课堂:JavaScript+jQuery动态网页设计案例课堂》共分为20章,分别介绍:必须了解的JavaScript知识、JavaScript编程基础、程序控制结构与语句、函数、对象与数组、日期与字符串对象、数值与数学对象、文档对象模型与事件驱动、处理窗口和文档对象、级联样式表、表单和表单元素、JavaScript的调试和错误处理、JavaScript和Ajax技术、jQuery的基础知识、jQuery的选择器、用jQuery控制页面、jQuery的动画特效、jQuery的事件处理、jQuery的功能函数、jQuery的插件开发与使用。通过每章的实战案例,使读者进一步巩固所学的知识,提高综合实战能力。
《网站开发案例课堂:JavaScript+jQuery动态网页设计案例课堂》内容丰富、全面,图文并茂,步骤清晰,通俗易懂,专业性强,使读者能透彻理解JavaScript + jQuery动态网页设计的技术,并能解决实际工作中的问题,真正做到“知其然,更知其所以然”。
《网站开发案例课堂:JavaScript+jQuery动态网页设计案例课堂》涉及面广泛,几乎涉及了JavaScript + jQuery动态网页设计的所有重要知识,适合所有的网页设计初学者快速入门,同时也适合想全面了解JavaScript + jQuery动态网页设计的设计人员阅读。
第1章
必须了解的
JavaScript知识
JavaScript是目前Web应用程序开发者使用最为广泛的客户端脚本编程语言,不仅可用来开发交互式的Web页面,还可将HTML、XML和Java Applet、Flash等Web对象有机地结合起来,使开发人员能快速生成Internet上使用的分布式应用程序。本章将主要讲述JavaScript的基本入门知识。
1.1 认识JavaScript
JavaScript作为一种可以给网页增加交互性的脚本语言,拥有近20年的发展历史。它的简单、易学易用特性,使其立于不败之地。
1.1.1 什么是JavaScript
JavaScript最初由网景公司的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。
经过近20年的发展,JavaScript已经成为健壮的基于对象和事件驱动的有相对安全性的客户端脚本语言,同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript可以弥补HTML语言的缺陷,实现Web页面客户端动态效果,其主要作用如下。
(1) 动态改变网页内容
HTML语言是静态的,一旦编写,内容是无法改变的。JavaScript可以弥补这种不足,可以将内容动态地显示在网页中。
(2) 动态改变网页的外观
JavaScript通过修改网页元素的CSS样式,可以动态地改变网页的外观,例如修改文本的颜色、大小等属性,使图片的位置动态地改变等。
(3) 验证表单数据
为了提高网页的效率,用户在编写表单时,可以在客户端对数据进行合法性验证,验证成功之后才能提交到服务器上,这样就能减少服务器的负担和降低网络带宽的压力。
(4) 响应事件
JavaScript是基于事件的语言,因此可以响应用户或浏览器产生的事件。只有事件产生时才会执行某段JavaScript代码,如用户单击“计算”按钮时,程序显示运行结果。
几乎所有浏览器都支持JavaScript,如Internet Explorer(IE)、Firefox、Netscape、Mozilla、Opera等。
1.1.2 JavaScript的特点
JavaScript的主要特点有以下几个方面。
(1) 语法简单,易学易用
JavaScript语法简单、结构松散。可以使用任何一种文本编辑器来进行编写。JavaScript程序运行时不需要编译成二进制代码,只需要支持JavaScript的浏览器进行解释。
(2) 解释型语言
非脚本语言编写的程序通常需要经过“编写→编译→链接→运行”这4个步骤,而脚本语言JavaScript是解释型语言,只需要经过“编写→运行”这两个步骤。
(3) 跨平台
由于JavaScript程序的运行仅依赖于浏览器,所以只要操作系统中安装有支持JavaScript的浏览器即可,即JavaScript与平台(操作系统)无关。例如,无论是Windows、Unix、Linux操作系统还是用于手机的Android、iPhone操作系统,都可以运行JavaScript。
(4) 基于对象和事件驱动
JavaScript把HTML页面中的每个元素都当作一个对象来处理,并且这些对象都具有层次关系,像一棵倒立的树,这种关系被称为“文档对象模型(DOM)”。在编写JavaScript代码时会接触到大量对象及对象的方法和属性。可以说学习JavaScript的过程,就是了解JavaScript对象及其方法和属性的过程。因为基于事件驱动,所以JavaScript可以捕捉到用户在浏览器中的操作,可以将原来静态的HTML页面变成可以与用户交互的动态页面。
(5) 用于客户端
尽管JavaScript分为服务器端和客户端两种,但目前应用得最多的还是客户端。
1.1.3 JavaScript与Java的区别
JavaScript是一种嵌入式脚本文件,直接插入网页,由浏览器一边解释一边执行。而Java语言必须在Java虚拟机上运行,而且事先需要进行编译。另外,Java的语法规则比JavaScript的语法规则要严格得多,功能也要强大得多。下面来分析JavaScript与Java的主要区别。
1. 基于对象和面向对象
JavaScript是基于对象的,它是一种脚本语言,是一种基于对象和事件驱动的编程语言,因而它本身提供了非常丰富的内部对象供设计人员使用。
而Java是面向对象的,即Java是一种真正的面向对象的语言,即使是开发简单的程序,也必须设计对象。
2. 强变量和弱变量
JavaScript与Java所采取的变量是不一样的。JavaScript中的变量声明采用弱类型,即变量在使用前不需做声明,而是由解释器在运行时检查其数据类型。
而Java采用强类型变量检查,即所有变量在编译之前必须声明。如下面这段代码:
Integer x;
String y;
x = 123456;
y = "654321";
其中x=123456,说明是一个整数;y=“654321”,说明是一个字符串。
而在JavaScript中,变量声明采用弱类型,即变量在使用前不需要声明,而是解释器在运行时检查其数据类型,如下面的代码所示:
x = 123456;
y = "654321";
在上述代码中,前者说明x为数值型变量,而后者说明y为字符型变量。
3. 代码格式不同
JavaScript与Java代码的格式不一样。JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载,编写HTML文档就像编辑文本文件一样方便,其独立文件的格式为“*.js”。
而Java是一种与HTML无关的格式,必须通过像HTML中引用外部媒体那样进行装载,其代码以字节代码的形式保存在独立的文档中,其独立文件的格式为“*.class”。
4. 嵌入方式不同
JavaScript与Java嵌入方式不一样。在HTML文档中,两种编程语言的标识不同,JavaScript使用来标识,而Java使用来标识。
5. 静态联编和动态联编
JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查。
Java则采用静态联编,即Java的对象引用必须在编译时进行,以使编译器能够实现强类型检查。
6. 浏览器执行方式不同
JavaScript与Java在浏览器中执行的方式不一样。JavaScript是一种解释型编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户,即JavaScript语句本身随Web页面一起被下载,由浏览器解释执行。
而Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须有相应平台的仿真器或者解释器,可以通过编译器或解释器实现独立于某个特定平台的编译代码。
1.1.4 JavaScript版本
1995年,Netscape公司开发了名字为LiveScript的语言,与Sun公司合作后,于1996年更名为JavaScript,版本为1.0。随着网络和网络技术的不断发展,JavaScript的功能越来越强大和完善,至今已经经历了若干个版本,各个版本的发布日期及功能如表1-1所示。
表1-1 JavaScript的版本及说明
版 本 发布日期 新增的功能
1.0 1996年3月 目前已经不用
1.1 1996年8月 修正了1.0版中的部分错误,并加入了对数组的支持
1.2 1997年6月 加入了对switch选择语句和正则表达式的支持
1.3 1998年10月 修正了JavaScript 1.2与ECMA 1.0中不兼容的部分
1.4 1999年8月 加入了服务器端功能
1.5 2000年11月 在JavaScript 1.3的基础上增加了异常处理程序,并与ECMA 3.0完全兼容
续表
版 本 发布日期 新增功能
1.6 2005年11月 加入对E4X、字符串泛型的支持以及新的数组、数据方法等新特性
1.7 2006年10月 在JavaScript 1.6的基础上加入了生成器、声明器、分配符变化、let表达式等新特性
1.8 2008年6月 更新很小,确实包含了一些向ECMAScript 4 / JavaScript 2进化的痕迹
1.8.1 2009年6月 该版本只有很少的更新,主要集中在添加实时编译跟踪
1.8.5 2010年7月 —
2.0 制定中 —
JavaScript尽管版本很多,但是受限于浏览器。并不是所有版本的JavaScript都受浏览器支持,常用浏览器对JavaScript版本的支持如表1-2所示。
表1-2 JavaScript支持浏览器的情况
浏 览 器 对JavaScript的支持情况
Internet Explorer 9 JavaScript 1.1 ~ JavaScript 1.3
Firefox 4 3 JavaScript 1.1 ~ JavaScript 1.8
Opera 119 JavaScript 1.1 ~ JavaScript 1.5
1.2 JavaScript的编写工具
JavaScript是一种脚本语言,代码不需要编译成二进制形式,而是以文本的形式存在,因此任何文本编辑器都可以作为其开发环境。
通常使用的JavaScript编辑器有记事本、UltraEdit-32和Dreamweaver等。
1.2.1 记事本
记事本是Windows系统自带的文本编辑器,也是最简洁方便的文本编辑器,由于记事本的功能过于单一,所以要求开发者必须熟练掌握JavaScript语言的语法、对象、方法和属性等。这对于初学者是个极大的挑战,因此,不建议使用记事本。但是由于记事本简单方便、打开速度快,所以常用来做局部修改。
记事本窗口如图1-1所示。
在记事本中编写JavaScript程序的方法很简单,只需在记事本中打开程序文件,然后在打开的记事本程序窗口中输入相关的JavaScript代码即可。
【例1.1】(示例文件ch01\1.1.html)
在记事本中编写JavaScript脚本。
图1-1 记事本窗口
打开记事本文件,在窗口中输入如下代码:
将记事本文件保存为“.html”格式的文件,然后使用IE 9.0浏览器打开,即可浏览最后的效果,如图1-2所示。
图1-2 最终效果
1.2.2 UltraEdit-32
UltraEdit是能够满足一切编辑需要的编辑器。UltraEdit是一款功能强大的文本编辑器,可以编辑文本、十六进制数据、ASCII码,可以取代记事本,内建英文单词检查、C++及VB指令突显,可同时编辑多个文件,而且即使开启很大的文件,速度也不会慢。软件附有HTML标签颜色显示、搜寻替换以及无限制的还原功能,人们一般都喜欢用它来代替记事本文本编辑器。UltraEdit窗口如图1-3所示。
图1-3 UltraEdit窗口
1.2.3 Dreamweaver
Adobe公司的Dreamweaver用户界面非常友好,是一个非常优秀的网页开发工具,深受广大用户的喜爱。Dreamweaver的主界面如图1-4所示。
图1-4 Dreamweaver CS 5.5的主界面
除了上述编辑器外,还有很多种编辑器可以用来编写JavaScript程序。如Aptana、1st JavaScript Editor、JavaScript Menu Master、Platypus JavaScript Editor、SurfMap JavaScript Editor等。“工欲善其事,必先利其器”,选择一款适合自己的JavaScript编辑器,可以让程序员的工作事半功倍。
……