2.3 三剑客之——JavaScript是美的升华
除了身材和化妆之外,美女还比较注重自己的言谈举止,避免获得“花瓶”或“胸大无脑”的评价。为此美女们需要耐心地培养修养,修炼自己的言谈举止。在网页技术中除了HTML和CSS之外,还需要借助脚本技术实现特效,以给浏览者带来“内在美”的体现。
2.3.1 JavaScript概述
当前常用的脚本语言有VBScript和JavaScript,其中前者是微软常用的脚本语言,而后者在现实中的应用更加广泛。在本书的内容中,将对JavaScript的基本知识进行简要介绍。JavaScript是一种由Netscape的LiveScript技术发展而来的脚本语言,主要是为了解决服务器端处理速度慢而推出的语言。当时服务器需要对数据进行验证,由于网络速度相当缓慢,只有28.8kb/s,验证步骤浪费的时间太多。于是,Netscape的浏览器Navigator加入了JavaScript,提供了数据验证的基本功能。
JavaScript是一种新的描述语言,可以被嵌入HTML文件来显示特定效果。通过JavaScript可以做到回应使用者的需求事件,而不用任何的第三方网络媒体。JavaScript主要具有如下三个特点。
■ 使网页增加互动性。
■ 能够使有规律的、重复的HTML文本简化,减少下载时间。
■ 能及时响应用户的操作,对提交表单做即时的检查,无须浪费时间交由CGI验证。
2.3.2 JavaScript基本概念
在此对JavaScript中的几个基本概念进行简要介绍,至于更加详细的内容和知识,将在本书的后面章节中进行介绍。
1.运算符
运算符就是完成运算的一系列符号,共有7类:赋值运算符、算术运算符、比较运算符、逻辑运算符、条件运算、位操作运算符和字符串运算符。
2.表达式
运算符和操作数的组合称为表达式,通常分为四类:赋值表达式、算术表达式、布尔表达式和字符串表达式。
3.语句
JavaScript程序是由若干语句组成的,语句是编写程序的指令。JavaScript提供了完整的基本编程语句,分别是赋值语句、switch选择语句、while循环语句、for循环语句、do while循环语句、break循环中止语句和continue循环中断语句。
4.函数
函数是命名的语句段,这个语句段可以作为一个整体来引用并执行。
5.对象
JavaScript的一个重要功能是基于对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。
一组包含数据的属性和对属性中包含数据进行操作的方法称为对象。例如要设定网页的背景颜色,所针对的对象就是document,所用的属性名是bgcolor,document.bgcolor="blue"表示设置背景的颜色为蓝色。
6.事件
用户与网页交互时产生的操作称为事件。绝大部分事件都由用户的动作所引发,例如用户按鼠标的按钮,就产生onclick事件,若鼠标的指针在链接上移动,就产生onmouseover事件等。在JavaScript中,事件往往与事件处理程序配套使用。
2.3.3 JavaScript的作用
JavaScript技术在Web开发中有着十分重要的位置与作用,这主要体现在如下三个方面。
1.可以在客户端完成一些页面效果
这是JavaScript最典型的用法,不需要服务器端响应干预,大大减轻了服务器的负荷。
2.只需要比较简单的数据
页面在经历某些操作后,需要与服务器交互取得新数据在页面显示,但所取得的数据比较简单,页面上也只有很小的局部变化。如果重新与服务器交换整个页面状态,就需要重载整个页面,这时用JavaScript局部交换显然比较合理,至少在下载速度上的优势是明显的。
3.一些基于页面现有的数据的计算或其他动作
基本的数据取到页面以后,在此基础上的动作在该页面上就能完成,完全不需要再与服务器发生交互动作,这有点类似于网格分布式运算的特点,将一些能在客户端进行的运算动作分布到各客户端机器上运行,以减轻服务器的压力,通常客户端的资源总是充足的。
高手真经——JavaScript和Java的区别
很多初学者误认为JavaScript和Java相同,其实两者是不同的。JavaScript和Java看起来名字很类似,但是并不一样。Java是一种比JavaScript更复杂的面向对象语言,能够完成更为强大的功能。
而JavaScript则是相当容易了解的语言,JavaScript开发人员可以不用十分注重编程技巧,所以许多Java的特性在JavaScript中并不支持。
另外,还有人认为JavaScript是Ajax,其实JavaScript是Ajax技术中最重要的一部分。Ajax利用JavaScript的特性实现Web应用程序对用户行为触发的实时响应和处理,包括鼠标事件、键盘事件、页面载入事件、焦点事件等。JavaScript将HTML与DOM、XMLHttpRequest等对象联系起来,作为它们之间沟通的渠道。
JavaScript在Ajax中起到了“承前启后”的作用,通过其特有的属性、方法、集合操纵HTML文档内容,使用DOM、XMLHttpRequest对象相关属性和方法与服务器实现异步交互通信。