动态网页设计与开发:JavaScript + jQuery
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 JavaScript概述

1.1.1 为什么学习JavaScript

JavaScript在网页制作中占有非常重要的地位,可以实现验证表单、制作特效等功能,总结起来,学习JavaScript的目的主要基于以下三点。

1.客户端表单验证

登录某网站时经常遇到要求会员登录、注册的情况,我们填写登录、注册信息时,如果某项信息格式输入错误,或没有输入内容,表单页面将及时给出错误提示。这些错误在提交到服务器前,由客户端提前进行验证,称为客户端表单验证。以QQ登录为例,如图1.1所示,没有输入QQ号码直接登录就提示“请您输入账号后再登录”。这样,用户得到了即时的交互(反馈填写情况),同时也减轻了服务器端的压力,这是JavaScript最常用的场合。

图1.1 QQ登录界面

2.页面动态效果

在JavaScript中,可以编写响应鼠标点击等事件的代码,创建动态页面特效,从而高效地控制页面的内容。例如,层的切换特效、级联菜单特效、验证的提示(图1.2)等,它们可以在有限的页面空间里展现更多的内容,提升客户端的体验,从而使我们的网站更加有动感、有魅力,吸引更多的浏览者。

图1.2 页面动态效果

这里要说明一点,虽然JavaScript可以实现许多动态效果,但要实现一个特效可能需要十几行,甚至几十行代码,而使用jQuery(JavaScript程序库)可能只需要几行代码就能实现同样的效果,所以学习jQuery就非常有必要了。

3.jQuery的基础

JavaScript是学习jQuery的基础,所以要先把JavaScript的基础打牢,再学习jQuery就是顺理成章的事了,关于jQuery方面的技术,我们会在后面讲解。

1.1.2 JavaScript简介

JavaScript是一种描述性语言,也是一种基于对象(Object)和事件驱动(Event Driven)的,并具有安全性能的脚本语言。JavaScript是一种轻量级的直译式编程语言,基于ECMAScript标准(注:一种由ECMA国际组织通过ECMA-262标准化的脚本程序语言)。通常在HTML网页中使用JavaScript为页面增加动态效果和功能。它与HTML(超文本标记语言)一起,在一个Web页面中链接多个对象,与Web客户实现交互。无论在客户端还是在服务器端,JavaScript应用程序都要下载到浏览器的客户端执行,从而减轻了服务器端的负担。总结其特点如下:

➢ JavaScript主要用来在HTML页面中添加交互行为。

➢ JavaScript是一种脚本语言,语法和Java类似。

➢ JavaScript一般用来编写客户端的脚本。

➢ JavaScript是一种解释性语言,边执行边解释。

JavaScript和HTML、CSS一起被称为Web开发的三大核心技术,目前JavaScript已经广泛应用于Web开发,市面上绝大多数网页都使用了JavaScript代码。可以说当今所有浏览器都支持JavaScript,无须额外安装第三方插件。JavaScript内嵌于HTML网页中,通过浏览器内置的JavaScript引擎直接编译,把一个原本只用来显示的页面,转变成支持用户交互的页面程序。

提示

Web页面是由多个网页组成的。网页制作涉及的技术有:HTML、CSS和JavaScript。

➢ HTML代表了结构,结构是网页的骨架,从语义的角度,描述页面结构。

➢ CSS代表了样式,样式是网页的外观,从审美的角度,美化页面。

➢ JavaScript代表行为,行为是网页的交互逻辑,从交互的角度,提升用户体验。

1.1.3 JavaScript起源

1992年,Nombas公司开发了一种称为Cmm的嵌入式脚本语言,并把它捆绑在一个称为CEnvi的软件产品中。CEnvi首次向人们展示了Cmm的魅力,之后Nombas公司把Cmm的名称改为ScriptEase。

在1995年,网景(Netscape)公司为了扩展其浏览器的功能,由Brendan Eich用了10天时间开发出来,并命名为LiveScript的脚本语言,该脚本语言用于当时的网景导航者(Netscape Navigator)浏览器2.0版。最初这种脚本语言的官方名称为LiveScript,后来应用于网景导航者浏览器2.0B3版的时候正式更名为JavaScript。更名的原因是因为当时网景公司与Sun公司开展了合作,网景公司的管理层希望在他们的浏览器中增加对于Java技术的支持。该名称容易让人误以为该脚本语言是和Java语言有关的,但实际上该语言的语法风格与Scheme更为接近。

随着客户端脚本的需求逐渐增大,Microsoft公司进军浏览器市场,发布了IE3.0,并搭载了一个JavaScript的复制版,称为JScript。此时,有三种不同的JavaScript版本同时存在:Netscape公司的JavaScript、IE软件中的JScript和CEnvi软件中的ScriptEase。

JavaScript没有一个标准来统一其语法或特性,而这三种版本恰恰突出了这个问题。为了解决这一问题,JavaScript 1.1作为一个草案提交给欧洲计算机制造商协会(ECMA),最终ECMA-262标准应运而生,该标准定义了称为ECMAScript的脚本语言。之后,国际标准化组织及国际电工委员会(ISO/IEC)也采纳了ECMAScript作为标准。简而言之,ECMAScript是一种脚本语言的标准,JavaScript语言就是遵循ECMAScript标准的一种实现。

说明

JavaScript和Java的关系。因为名称的相近,JavaScript常被误以为和Java有关,但事实上无论从概念还是从设计上它们都是毫无关联的两种语言。JavaScript是Netscape公司的Brendan Eich发明的一种轻量级语言,主要应用于网页开发,无须事先编译;而Java是由Sun公司的James Gosling发明的一种面向对象的程序语言,根据应用方向又可分为J2SE(Java2标准版)、J2ME(Java2微型版)和J2EE(Java2企业版)三个版本,需要先编译再执行。JavaScript的主旨是为非程序开发者快速上手使用的,而Java是更高级更复杂的一种面向专业程序开发者的语言,比JavaScript难度大、应用范围更广。

1.1.4 JavaScript的实现

前面提到ECMAScript是一个重要的标准,但它并不是JavaScript唯一的部分,当然,它也不是唯一被标准化的部分。实际上,一个完整的JavaScript是由ECMAScript、BOM和DOM三个不同的部分组成的。

1.ECMAScript标准

ECMAScript是一种开放的、被国际上广为接受的、标准的脚本语言规范。它不与任何具体的浏览器绑定。ECMAScript标准主要描述了以下内容:

➢ 语法。

➢ 变量和数据类型。

➢ 运算符。

➢ 逻辑控制语句。

➢ 关键字、保留字。

➢ 对象。

ECMAScript是一个描述,规定了脚本语言的所有属性、方法和对象的标准,因此在使用Web客户端脚本语言编码时一定要遵循ECMAScript标准。

2.浏览器对象模型

浏览器对象模型(Browser Object Model,BOM)提供了独立于内容与浏览器窗口进行交互的对象,使用浏览器对象模型可以实现与HTML的交互,如网上常见的弹出窗口、前进后退等功能都是由浏览器对象控制的。

3.文档对象模型

文档对象模型(Document Object Model,DOM)是HTML文档对象模型(HTML DOM)定义的一套标准方法,用来访问和操纵HTML文档,如网上商城常见的随鼠标移动显示大的图片、弹出小提示等都是文档对象的功劳。

1.1.5 JavaScript的特点

1.脚本语言

JavaScript是一种直译式的脚本语言,无须事先编译,可以在程序运行的过程中逐行进行解释使用。该语言适合非程序开发人员使用。

2.简单性

JavaScript具有非常简单的语法,其脚本程序面向非程序开发人员。HTML前端开发者都有能力为网页添加JavaScript片段。

3.弱类型

JavaScript无须定义变量的类型,所有变量的声明都可以用统一的类型关键字表示。在运行过程中,JavaScript会根据变量的值判断其实际类型。

4.跨平台性

JavaScript语言是一种Web程序开发语言,它只与浏览器支持情况有关,与操作系统的平台类型无关。目前JavaScript可以在无须安装第三方插件的情况下被大多数主流浏览器完全支持,因此JavaScript程序在编写后可以在不同类型的操作系统中运行,适用于台式机、笔记本电脑、平板电脑和手机等各类包含浏览器的设备。

5.大小写敏感

JavaScript语言是一种大小写敏感的语言,例如字母a和A会被认为是不同的内容。同样在使用函数时也必须严格遵守大小写的要求,使用正确的方法名称。