2.1 JavaScript简述
2.1.1 什么是JavaScript
JavaScript是由Netscape Communication Corporation(网景公司)所开发的。JavaScript原名为LiveScript,是目前客户端浏览程序最普遍的Script语言。
JavaScript是Web页面中的一种脚本编程语言,也是一种通用的、跨平台的、基于对象和事件驱动并具有相对安全性的解释型脚本语言,在Web系统中得到了非常广泛的应用。它不需要进行编译,而是直接嵌入在HTML页面中,把静态页面转变成支持用户交互并响应相应事件的动态页面。
2.1.2 JavaScript的作用
使用JavaScript脚本实现的动态页面,在Web上随处可见。下面将介绍几种JavaScript常见的应用。
1.验证用户输入的内容
在程序开发过程中,用户输入内容的校验常分为两种:功能性校验和格式性校验。
功能性校验常常与服务器端的数据库相关联,因此,这种校验必须将表单提交到服务器端后才能进行。例如在开发管理员登录页面时,要求用户输入正确的用户名和密码,以确定管理员的真实身份。如果用户输入了错误的信息,将弹出相应的提示,如图2.1所示。这项校验必须通过表单提交后,由服务器端的程序进行验证。
图2.1 验证用户名和密码是否正确
格式性校验可以只发生在客户端,即在表单提交到服务器端之前完成。JavaScript能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由CGI验证。JavaScript常用于对用户输入的格式性校验。
如图2.2所示页面要求用户输入购卡人的详细信息,它要求对用户的输入进行以下校验。
(1)学生考号、移动电话、订购人姓名和E-mail不能为空。
(2)学生考号必须是12位。
(3)移动电话必须由11位数字组成,且以“13”和“15”开头。
(4)固定电话必须是“3位区号-8位话号”或“4位区号-7位或8位话号”。
(5)E-mail必须包含“@”和“.”两个有效字符。
当用户输入不符合指定格式的移动电话号码时,就会在页面输出提示信息“移动电话号码的格式不正确”,如图2.2所示。
图2.2 校验用户输入的格式是否正确
2.实时显示添加内容
在Web编程中,多数情况下需要程序与用户进行交互,告诉用户已经发生的情况,或者从用户的输入那里获得下一步的数据,程序的运行过程大多数是一步步交互的过程。这种完全不用通过服务器端处理,仅在客户端动态显示网页的功能,不仅可以节省网页与服务器端之间的通信时间,又可以制作出便于用户使用的友好界面,使程序功能更加人性化。
例如,在签写许愿信息时,为了让用户可以实时看到添加后字条的样式,用户每输入一个文字,在右侧的字条预览区实时预览签写许愿字条内容的效果,如图2.3所示。
图2.3 实时预览许愿字条
3.动画效果
在浏览网页时,经常会看到一些动画效果,使页面显得更加生动。使用JavaScript脚本语言也可以实现动画效果,例如在页面中实现一种星星闪烁的效果,如图2.4所示。
图2.4 动画效果
4.窗口的应用
在打开网页时经常会看到一些浮动的广告窗口,这些广告窗口是网站最大的盈利手段。这些广告窗口可以通过JavaScript脚本语言来实现,如图2.5所示的广告窗口。
图2.5 窗口的应用
5.文字特效
使用JavaScript脚本语言可以使文字实现多种特效。例如波浪文字,如图2.6所示。
图2.6 文字特效
2.1.3 JavaScript的基本特点
JavaScript是为适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地应用于Internet网页制作上。JavaScript脚本语言具有以下几个基本特点。
(1)解释性
JavaScript不同于一些编译性的程序语言,例如C、C++等,它是一种解释性的程序语言,它的源代码不需要经过编译,而直接在浏览器中运行时被解释。
(2)基于对象
JavaScript是一种基于对象的语言,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。
(3)事件驱动
JavaScript可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的响应,是以事件驱动的方式进行的。所谓事件驱动,就是指在主页中执行了某种操作所产生的动作,此动作称为“事件”。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。
(4)简单性
JavaScript是一种基于Java基本语句和控制流之上的简单而紧凑的设计,从而对于学习Java是一种非常好的过渡。其次它的变量类型采用弱类型,并未使用严格的数据类型。
(5)跨平台
JavaScript依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。
(6)安全性
JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。这样可有效地防止数据的丢失。