第一篇
JavaScript入门
第1章 必须了解的JavaScript知识
在数百万个Internet页面中,JavaScript被用来改进设计、验证表单、检测浏览器、创建Cookies等。JavaScript是因特网上最流行的脚本语言,并且可在所有主流的浏览器中运行,如Internet Explorer、Mozilla、Firefox、Netscape和Opera。
本章知识点:
❑ 对JavaScript这门语言的定义
❑ JavaScript的特点
❑ JavaScript语言的开发环境
1.1 认识JavaScript
人们通常所说的JavaScript,其正式名称是ECMAScript,这个标准由ECMA组织发展和维护。ECMA-262是正式的JavaScript标准,这个标准基于网景(Netscape)公司提出的JavaScript语言和微软(Microsoft)公司提出的JScript语言。
Netscape(Navigator 2.0)的Brendan Eich发明了这门语言,从1996年开始,JavaScript语言已经出现在所有的Netscape和Microsoft浏览器中。
ECMA-262的开发始于1996年,在1997年7月,ECMA会员大会采纳了其首个版本。1998年,该标准成为国际ISO标准(ISO/IEC 16262)。目前这个标准仍然处于发展之中。
1.1.1 什么是JavaScript
JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用这种语言的目的是与HTML超文本标记语言、Java Applet(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用,从而可以开发客户端的应用程序等。
1.1.2 JavaScript的特点
JavaScript是通过嵌入或调入在标准的HTML语言中实现的,其出现弥补了HTML语言的缺陷,是Java与HTML折中的选择。JavaScript具有以下几个基本特点:
1)JavaScript是一种脚本编写语言,其采用小程序段的方式实现编程。同其他脚本语言一样,JavaScript也是一种解释性语言,其提供了一个非常方便的开发过程。JavaScript的语法基本结构形式与C、C++、Java十分类似。但在使用前,不像这些语言需要先编译,而是在程序运行过程中被逐行地解释。JavaScript与HTML标识结合在一起,从而方便用户的使用操作。
2)JavaScript是一种基于对象的语言,同时其也可以被看作是一种面向对象的语言,这意味着JavaScript能运用其已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。
3)JavaScript具有简单性。其简单性主要体现在:首先,JavaScript是一种基于Java基本语句和控制流之上的简单而紧凑的设计,从而对于使用者学习Java或其他C语系的编程语言是一种非常好的过渡,而对于具有C语系编程功底的程序员来说,JavaScript上手也非常容易;其次,其变量类型是采用弱类型,并未使用严格的数据类型。
4)JavaScript具有非常高的安全性。JavaScript作为一种安全性语言,不被允许访问本地的硬盘,且不能将数据存入服务器,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失或对系统的非法访问。
5)JavaScript是动态的,可以直接对用户或客户输入做出响应,无须经过Web服务程序。JavaScript对用户的响应,是以事件驱动的方式进行的。在网页(Web Page)中执行了某种操作所产生的动作,被称为“事件”(Event)。例如按下鼠标、移动窗口、选择菜单等都可以被视为事件。当事件发生后,可能会引起相应的事件响应,执行某些对应的脚本,这种机制被称为“事件驱动”。
6)JavaScript具有跨平台性。JavaScript依赖于浏览器本身,与操作环境无关,只要计算机能运行浏览器,并支持JavaScript的浏览器,就可正确执行,从而实现了“编写一次,走遍天下”的梦想。
综合所述,JavaScript是一种新的描述语言,其可以被嵌入到HTML文件中。JavaScript语言可以做到响应使用者的需求事件(例如表单的输入),而不需要任何的网络来回传输资料。所以当一位使用者输入一项资料时,此资料数据不用经过传给服务器(server)处理再传回来的过程,而直接可以被客户端(client)的应用程序所处理。
1.2 JavaScript与Java的区别
JavaScript和Java在语法上十分类似,但其有着根本的区别。Java是一种比JavaScript更复杂的程序语言,而JavaScript相对于Java来说,则是相当容易上手的。由于JavaScript程序员可以不太注重程序的编写技巧,所以许多Java的特性在JavaScript中并不被支持。
虽然JavaScript与Java有紧密的联系,但却是两个公司开发的两个不同的产品。Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而JavaScript是基于Netscape公司的产品,其最初的目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言,其前身是Live Script;而Java的前身是Oak语言。下面对两种语言间的异同做如下比较。
1.2.1 基于对象和面向对象
Java是一种真正的面向对象的语言,即使是开发简单的程序,也必须设计对象。
JavaScript是一种脚本语言,可以用来制作与网络无关的,与用户交互作用的复杂软件。由于JavaScript是一种基于对象(Object Based)事件驱动(Event Driver)的编程语言,因而JavaScript本身提供了非常丰富的内部对象供设计人员使用。
1.2.2 解释和编译
两种语言在其浏览器中所执行的方式不同。Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端必须具有相应平台上的仿真器或解释器,可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。
JavaScript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户端,由浏览器解释执行。
1.2.3 强变量和弱变量
两种语言所采取的变量是不同的。Java采用强类型变量检查,即所有变量在编译之前必须做声明。如:
Integer x; String y; x=1234; y="4321";
其中x=1234说明是一个整数,y=“4321”说明是一个字符串。
JavaScript中变量声明采用其弱类型,即变量在使用前不需做声明,而是解释器在运行时检查其数据类型,如:
x=1234; y="4321";
前者说明x为其数值型变量,而后者说明y为字符型变量。
1.2.4 代码格式不同
Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那样进行装载,其代码以字节代码的形式保存在独立的文档中。
JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。
1.2.5 嵌入方式不同
在HTML文档中,两种编程语言的标识不同。JavaScript使用“<Script>...</Script>”来标识,而Java使用“<applet>...</applet>”来标识。
第2章将介绍JavaScript在网页中的嵌入方式,读者就会体会到这种不同。
1.2.6 静态联编和动态联编
Java采用静态联编,即Java的对象引用必须在编译时进行,以使编译器能够实现强类型检查。
JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查,如不经编译,则无法实现对象引用的检查。
1.3 JavaScript程序运行开发环境
JavaScript运行开发环境包括软件环境和硬件配置。
(1)软件环境
❑ Windows 95/98或Windows NT。
❑ Netscape Navigator 3.0或Internet Explorer 3.0及以上版本。
用于编辑HTML文档的字符编辑器(WS、WPS、Notepad、WordPad等)或HTML文档编辑器。
(2)硬件配置
首先必须具备运行Windows 95/98或Windows NT的基本硬件配置环境。推荐:
❑ 基本内存32MB。
❑ CRT至少需要256种颜色,分辨率在640×480像素以上。
❑ CPU频率至少233MHz以上。
❑ 鼠标和其他外部设置(根据需要选用)。
说明
由于JavaScript由纯粹的文本构成,因此Windows系统自带的记事本软件(notepad)或者任何一种纯文本编辑软件都可以用来开发JavaScript脚本。笔者推荐使用UltraEdit作为编辑工具。
1.4 JavaScript的优点与局限性
JavaScript的出现无疑给Web页面设计带来了非常大的便利:
1)在JavaScript这样的用户端脚本语言出现之前,传统的数据提交和验证工作均由用户端浏览器通过网络传输到服务器上进行。如果数据量很大,这对于网络和服务器的资源来说实在是一种无形的浪费。而使用JavaScript就可以在客户端进行数据验证。
2)JavaScript可以方便地操纵各种页面中的对象,用户可以使用JavaScript来控制页面中各个元素的外观、状态甚至运行方式,JavaScript可以根据用户的需要“定制”浏览器,从而使网页更加友好。
3)JavaScript可以使多种任务仅在用户端就可以完成,而不需要网络和服务器的参与,从而支持分布式的运算和处理。
然而JavaScript也不可避免的有其自身的局限性:
1)目前在互联网上有很多浏览器,如Firefox、Internet Explorer、Opera等,但每种浏览器支持JavaScript的程度是不一样的,不同的浏览器在浏览一个带有JavaScript脚本的主页时,由于对JavaScript的支持稍有不同,其效果会有一定的差距,有时甚至会显示不出来。
2)当把JavaScript的一个设计目标设定为“Web安全性”时,就需要牺牲JavaScript的一些功能。因此,纯粹的JavaScript将不能打开、读写和保存用户计算机上的文件。其有权访问的唯一信息就是该JavaScript所嵌入的那个Web主页中的信息,简言之,JavaScript将只存在于它自己的小小世界—Web主页里。
1.5 小结
本章简要介绍了JavaScript这种脚本语言的由来和定义,通过和传统的编译型语言Java的比较,说明了JavaScript的特点以及与Java语言的区别;说明了JavaScript的运行环境与系统要求;最后介绍了JavaScript语言在Web应用中的优点与局限性。
1.6 常见面试题分析
1. 常用的浏览器有哪几种
1)Internet Explorer;
2)Firefox;
3)Opera。
目前,腾讯也发布了自己的浏览器,读者可以进行关注。本题非常简单,就是了解应聘者的基础知识。
2. 平时都用什么编写JavaScript代码
1)记事本;
2)UltraEdit。
本题非常简单,也是了解应聘者的基础知识和写JavaScript的水平。
1.7 本章习题
1.关于JavaScript的叙述不正确的是( )。
A. Netscape公司在其Navigator浏览器中支持JavaApplet时,由于JavaApplet与LiveScript目标的相似性,LiveScript也更名JavaScript。
B. 微软公司的IE浏览器搭乘Windows操作系统这艘巨舰在市场上获得了空前的成就,微软也实现了一门兼容JavaScript的脚本语言,名为JScript。
C. 在众多Web浏览器中,对JavaScript的支持也很不一致,不过相同的语言特性在不同的浏览器中不存在差异。
D. 1995年发布了ECMA-262语言规范,将JavaScript语言标准化并重命名为ECMAScript,现今各个浏览器都以该规范作为标准。
2.简述Java与JavaScript语言的不同。
3.简述JavaScript的特点。