购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第1章

JavaScript简介

在数百万张Internet页面中,JavaScript被用来改进设计、验证表单、检测浏览器、创建cookies等。JavaScript是Internet上最流行的脚本语言,并且可在所有主要的浏览器中运行,例如,Internet Explorer、Firefox、Netscape和Opera。本章将对JavaScript语言的定义、特点等进行介绍。

本章重点:

■了解什么是JavaScript;

■了解JavaScript的运行环境;

■了解JavaScript的优点与局限。

1.1 什么是JavaScript

1995年,Netscape(网景)公司(现在的Mozilla公司)的Brendan Eich(布兰登·艾奇)在网景导航者浏览器上首次设计出了JavaScript。1996年,网景公司在Navigator2.0浏览器中正式内置了JavaScript脚本语言后,微软公司也开发了一种与JavaScript相近的语言Jscript,内置在Internet Explorer3.0浏览器中发布。此时,网景公司面临丧失浏览器脚本语言的主导权,于是将JavaScript提交给Ecma国际组织,该组织发布了262号标准文件(ECMA-262),规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript。2015年,Ecma国际组织发布了新版本ECMAScript2015,人们习惯称之为ECMAScript6(简称ES6),相比前面的版本,这一版本做出了大量的改进。

JavaScript是一种基于对象(object)和事件驱动(event driven)并具有安全性能的脚本语言。使用这种语言的目的是与HTML超文本标记语言、Java Applet(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用,从而开发出客户端的应用程序等。JavaScript是通过嵌入或调入在标准的HTML语言中实现的,它的出现弥补了HTML语言的缺陷,是折中Java与HTML的选择,它具有以下几个基本特点:

■JavaScript是一种脚本编程语言。其采用小程序段的方式实现编程。像其他脚本语言一样,JavaScript同样也是一种解释性语言,其提供了一个非常方便的开发过程。

■JavaScript的语法基本结构形式与C、C++、Java十分类似。但在使用前,不像这些语言一样需要先编译,而是在程序运行过程中被逐行地解释。JavaScript与HTML结合在一起,从而方便用户的使用及操作。

■JavaScript是一种基于对象的语言,同时它也可以被看作一种面向对象的语言。这意味着JavaScript能运用其已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。

■JavaScript具有简单性。其简单性主要体现在:首先,JavaScript是一种基于Java基本语句和控制流之上的简单而紧凑的设计,从而对于学习Java或其他C语系的编程语言是一种非常好的过渡,而对于具有C语系编程功底的程序员来说,上手JavaScript也会非常容易。其次,其变量类型采用的是弱类型,并未使用严格的数据类型。

■JavaScript具有非常高的安全性。JavaScript作为一种安全性语言,不被允许访问本地的硬盘,且不能将数据存入服务器,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互,从而有效地防止数据丢失或对系统的非法访问。

■JavaScript是动态的,可以直接对用户或客户输入做出响应,无须经过Web服务程序。JavaScript对用户的反映响应,是采用以事件驱动的方式进行的。在网页中执行了某种操作所产生的动作,被称为“事件”(event)。例如按下鼠标、移动窗口、选择菜单等都可以被视为事件。当事件发生后,可能会引起相应的事件响应,执行某些对应的脚本。这种机制被称为“事件驱动”。

■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公司推出的新一代面向对象的程序设计语言,其前身是Oak语言,特别适合Internet应用程序开发;而JavaScript是基于Netscape公司的产品,最初是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web中的基于对象和事件驱动的解释性语言,其前身是Live Script。下面比较这两种语言的异同。

(1)基于对象和面向对象。Java是一种真正的面向对象的语言,即使是开发简单的程序,也必须设计对象。JavaScript是一种脚本语言,可以用来制作与网络无关的,与用户交互作用的复杂软件。JavaScript是一种基于对象(object based)事件驱动(event driver)的编程语言。因而JavaScript本身可提供非常丰富的内部对象以供设计人员使用。

(2)解释和编译。两种语言在浏览器中的执行方式不一样。Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,从而通过编译器或解释器实现独立于某个特定平台编译代码。

JavaScript是一种解释性编程语言,其源代码在发往客户端执行之前不需要经过编译,所以只需将文本格式的字符代码发送给客户端由浏览器解释执行。

(3)强变量和弱变量。两种语言所采取的变量是不一样的。Java采用强类型变量检查,即所有变量在编译之前必须声明。举例如下:


Integer x; 
String y;
x=1234;
y="4321";

其中,x = 1234说明是一个整数,y = "4321"说明是一个字符串。

JavaScript中的变量声明,采用弱类型,即变量在使用前无须做声明,解释器在运行时会检查其数据类型,举例如下:


x=1234;
y="4321";

前者说明x为数值型变量,后者说明y为字符型变量。

(4)代码格式不一样。Java是一种与HTML无关的格式,必须通过像HTML引用外媒体那样进行装载,其代码以字节代码的形式保存在独立的文档中。

JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。

(5)嵌入方式不一样。在HTML文档中,这两种编程语言的标识不同,JavaScript使用<Script>... </Script>来标识,而Java使用<applet>...</applet>来标识。

(6)静态联编和动态联编。Java采用静态联编,即Java的对象引用必须在编译时进行,以使编译器能够实现强类型检查。JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查,若不经编译,则无法实现对象引用的检查。

1.3 JavaScript程序的运行开发环境

JavaScript程序的运行开发环境包括如下内容。

要想编写和运行JavaScript脚本,需要用到浏览器和JavaScript代码编辑器。浏览器用于执行、调试JavaScript代码,JavaScript代码编辑器用于编写代码。

常见的浏览器主要有Internet Explorer、Microsoft Edge、Google Chrome、Mozilla Firefox、Safari等。

常用的JavaScript代码编辑器有Windows自带的记事本、Notepad++、Sublime Text、WebStorm、Dreamweaver等。

在Windows操作系统中,记事本是一个小的应用程序,采用一个简单的文本编辑器进行文字信息的记录和存储。

由于记事本的功能简单,稍有经验的程序员都可以开发出与记事本功能相似的小软件,所以在一些编程语言工具书上也会出现以记事本功能作为参考的示例,有趣的是,记事本亦可用来撰写软件,但不包含程序的编译功能,编译程序仍然要通过外部程序解决。

■记事本:Windows记事本是一个体积小、占用内存小的应用程序,能够很方便地进行纯文本的编辑。由于JavaScript由纯文本构成,因此使用Windows记事本编辑JavaScript脚本既简单又方便。

■Notepad++:Notepad++是一款在Windows环境下免费开源的代码编辑器,支持的语言主要有HTML、CSS、JavaScript、XML、C、PHP等。

■Sublime Text:Sublime Text是一个轻量级的代码编辑器,具有友好的用户界面,支持拼写检查、书签、定义按键绑定等功能。支持的语言主要有HTML、JavaScript、Java、Python等。

■WebStorm:WebStorm是JetBrains公司推出的一款Web前端开发工具,开发JavaScript、HTM5是其强项。同时支持许多流行的前端技术,如jQuery、Prototype、AngularJS等。

■Dreamweaver:Dreamweaver是一款集网页制作和网站管理于一身的所见即所得网页编辑器,用于帮助网页设计师提高网页制作的效率,降低网页开发的难度和HTML、CSS的学习门槛。

我们可以根据实际需要选择上面介绍的5种JavaScript代码编辑器中的任何一种,由于Notepad++的特点是小巧、占用资源少,所以非常适合初学者使用,本书也选择使用Notepad++进行代码的编写。

1.4 JavaScript的优点与局限

JavaScript的出现无疑给Web设计带来了极大的便利:

■在JavaScript这样的客户端脚本语言出现之前,传统的数据提交和验证工作均由客户端浏览器通过网络传输到服务器上进行。如果数据量很大,这对于网络和服务器的资源来说实在是一种无形的浪费。而使用JavaScript就可以在客户端进行数据验证。

■使用JavaScript可以方便地操纵各种页面中的对象,如可以使用JavaScript来控制页面中各个元素的外观、状态甚至运行方式,还可以根据用户的需要“定制”浏览器,从而使网页更加友好。

■JavaScript使多种任务仅在客户端就可以完成而不需要网络和服务器的参与,从而支持分布式运算和处理。

然而JavaScript也不可避免地有自身的局限性:

■互联网上有很多浏览器,如FireFox、Internet Explorer、Opera等,但每种浏览器支持JavaScript的程度是不一样的,不同的浏览器在浏览一个带有JavaScript脚本的主页时,由于对JavaScript的支持稍有不同,效果会有一定的差距,有时主页甚至会显示不出来。

■当把JavaScript的一个设计目标设定为“Web安全性”时,就需要牺牲JavaScript的一些功能。因此,纯粹的JavaScript将不能打开、读写和保存用户计算机上的文件。其有权访问的唯一信息就是该JavaScript所嵌入的那个Web中的信息,简言之,JavaScript将只存在于它自己的小小世界——Web里。

1.5 小结

本章简要介绍了JavaScript脚本语言的由来和定义。通过与传统的编译型语言Java的比较,说明了JavaScript的特点以及它与Java语言的区别。接着,说明了JavaScript的运行环境与系统要求。最后说明了JavaScript语言在Web应用中的优点与局限性。

1.6 本章练习

1. 简述JavaScript与Java的区别?

2. JavaScript与HTML的关系?

3. JavaScript是否需要很高的机器配置环境?

A. 是

B. 否

4. 除了JavaScript这种脚本语言,浏览器还支持哪些脚本语言?

A. VBScript

B. VB

C. Java

D. ASP +vBLVG8ZLVPA7xh9bJqGjN+unIm6CJfEh8BH4qv5t57/pEZmSLA7AqHtmuNIoDsp

点击中间区域
呼出菜单
上一章
目录
下一章
×