Internet時(shí)代,造就了我們新的工作和生活方式,其互聯(lián)性、開放性和共享信息的模式,打破了傳統(tǒng)信息傳播方式的重重壁壘,為我們帶來了新的機(jī)遇。隨著計(jì)算機(jī)和信息時(shí)代的到來,人類社會(huì)前進(jìn)的腳步在逐漸加快,每一天都有新的事情發(fā)生,每一天都在創(chuàng)造著奇跡。隨著Internet技術(shù)的突飛猛進(jìn),各行各業(yè)都在加入Internet的行業(yè)中來。無論從管理方面,還是從商業(yè)角度來看,Internet都可以帶來無限生機(jī)。通過Internet,可以實(shí)現(xiàn)地區(qū)、集體乃至個(gè)人的連接,從而達(dá)到一種“統(tǒng)一的和諧”。那么怎樣把自己的或公司的信息資源加入到WWW 服務(wù)器,是廣大用戶日益關(guān)心的問題。采用超鏈技術(shù)(超文本和超媒體技術(shù))是實(shí)現(xiàn)這個(gè)目標(biāo)最簡(jiǎn)單的、最快速的手段和途徑。具體實(shí)現(xiàn)這種手段的支持環(huán)境,那就是HTML超文本標(biāo)識(shí)語言。通過它們可制作所需的Web網(wǎng)頁。
通過超文本(Hyper Text)和超媒體(Hyper Media)技術(shù)結(jié)合超鏈接(Hyper link)的鏈接功能將各種信息組織成網(wǎng)絡(luò)結(jié)構(gòu)(web),構(gòu)成網(wǎng)絡(luò)文檔(Document),實(shí)現(xiàn)Internet上的“漫游”。通過HTML符號(hào)的描述就可以實(shí)現(xiàn)文字、表格、聲音、圖像、動(dòng)畫等多媒體信息的檢索。
然而采用這種超鏈技術(shù)存在有一定的缺陷,那就是它只能提供一種靜態(tài)的信息資源,缺少動(dòng)態(tài)的客戶端與服務(wù)器端的交互。雖然可通過CGI(Common Gateway Interface)通用網(wǎng)關(guān)接口實(shí)現(xiàn)一定的交互,但由于該方法編程較為復(fù)雜,因而在一段時(shí)間防礙了Internet技術(shù)的發(fā)展。而JavaScript的出現(xiàn),無凝為Internet網(wǎng)上用戶帶來了一線生機(jī)??梢赃@樣說,JavaScript的出現(xiàn)是時(shí)代的需求,是當(dāng)今的信息時(shí)代造就了JavaScript。
JavaScript的出現(xiàn),它可以使得信息和用戶之間不僅只是一種顯示和瀏覽的關(guān)系,而是實(shí)現(xiàn)了一種實(shí)時(shí)的、動(dòng)態(tài)的、可交式的表達(dá)能力。從而基于CGI靜態(tài)的HTML頁面將被可提供動(dòng)態(tài)實(shí)時(shí)信息,并對(duì)客戶操作進(jìn)行反應(yīng)的Web頁面的取代。JavaScript腳本正是滿足這種需求而產(chǎn)生的語言。它深受廣泛用戶的喜愛的歡迎。它是眾多腳本語言中較為優(yōu)秀的一種,它與WWW的結(jié)合有效地實(shí)現(xiàn)了網(wǎng)絡(luò)計(jì)算和網(wǎng)絡(luò)計(jì)算機(jī)的藍(lán)圖。無凝Java家族將占領(lǐng)Internet網(wǎng)絡(luò)的主導(dǎo)地位。因此,盡快掌握J(rèn)avaScript腳本語言編程方法是我國(guó)廣大用戶日益關(guān)心的。

一、什么是JavaScript
JavaScript是一種基于對(duì)象(Object)和事件驅(qū)動(dòng)(Event Driven)并具有安全性能的腳本語言。使用它的目的是與HTML超文本標(biāo)記語言、Java 腳本語言(Java小程序)一起實(shí)現(xiàn)在一個(gè)Web頁面中鏈接多個(gè)對(duì)象,與Web客戶交互作用。從而可以開發(fā)客戶端的應(yīng)用程序等。它是通過嵌入或調(diào)入在標(biāo)準(zhǔn)的HTML語言中實(shí)現(xiàn)的。它的出現(xiàn)彌補(bǔ)了HTML語言的缺陷,它是Java與HTML折衷的選擇,具有以下幾個(gè)基本特點(diǎn):

腳本編寫語言
JavaScript是一種腳本語言,它采用小程序段的方式實(shí)現(xiàn)編程。像其它腳本語言一樣,JavaScript同樣已是一種解釋性語言,它提供了一個(gè)易的開發(fā)過程。 
它的基本結(jié)構(gòu)形式與C、C++、VB、Delphi十分類似。但它不像這些語言一樣,需要先編譯,而是在程序運(yùn)行過程中被逐行地解釋。它與HTML標(biāo)識(shí)結(jié)合在一起,從而方便用戶的使用操作。 

基于對(duì)象的語言
JavaScript是一種基于對(duì)象的語言,同時(shí)以可以看作一種面向?qū)ο蟮?。這意味著它能運(yùn)用自己已經(jīng)創(chuàng)建的對(duì)象。因此,許多功能可以來自于腳本環(huán)境中對(duì)象的方法與腳本的相互作用。

簡(jiǎn)單性
JavaScript的簡(jiǎn)單性主要體現(xiàn)在:首先它是一種基于Java基本語句和控制流之上的簡(jiǎn)單而緊湊的設(shè)計(jì), 從而對(duì)于學(xué)習(xí)Java是一種非常好的過渡。其次它的變量類型是采用弱類型,并未使用嚴(yán)格的數(shù)據(jù)類型。 

安全性
JavaScript是一種安全性語言,它不允許訪問本地的硬盤,并不能將數(shù)據(jù)存入到服務(wù)器上,不允許對(duì)網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,只能通過瀏覽器實(shí)現(xiàn)信息瀏覽或動(dòng)態(tài)交互。從而有效地防止數(shù)據(jù)的丟失。 

動(dòng)態(tài)性
JavaScript是動(dòng)態(tài)的,它可以直接對(duì)用戶或客戶輸入做出響應(yīng),無須經(jīng)過Web服務(wù)程序。它對(duì)用戶的反映響應(yīng),是采用以事件驅(qū)動(dòng)的方式進(jìn)行的。所謂事件驅(qū)動(dòng),就是指在主頁(Home Page)中執(zhí)行了某種操作所產(chǎn)生的動(dòng)作,就稱為“事件”(Event)。比如按下鼠標(biāo)、移動(dòng)窗口、選擇菜單等都可以視為事件。當(dāng)事件發(fā)生后,可能會(huì)引起相應(yīng)的事件響應(yīng)。 

跨平臺(tái)性
JavaScript是依賴于瀏覽器本身,與操作環(huán)境無關(guān),只要能運(yùn)行瀏覽器的計(jì)算機(jī),并支持JavaScript的瀏覽器就可正確執(zhí)行。從而實(shí)現(xiàn)了“編寫一次,走遍天下”的夢(mèng)想。 

實(shí)際上JavaScript最杰出之處在于可以用很小的程序做大量的事。無須有高性能的電腦,軟件僅需一個(gè)字處理軟件及一瀏覽器,無須WEB服務(wù)器通道,通過自己的電腦即可完成所有的事情。
綜合所述JavaScript 是一種新的描述語言,它可以被箝入到 HTML 的文件之中。 JavaScript語言可以做到回應(yīng)使用者的需求事件 (如: form 的輸入) ,而不用任何的網(wǎng)路來回傳輸資料,所以當(dāng)一位使用者輸入一項(xiàng)資料時(shí),它不用經(jīng)過傳給伺服端 (server)處理,再傳回來的過程,而直接可以被客戶端 (client) 的應(yīng)用程式所處理。
JavaScript 和 Java 很類似,但到底并不一樣! Java 是一種比 JavaScript 更復(fù)雜許多的程式語言,而 JavaScript 則是相當(dāng)容易了解的語言。JavaScript 創(chuàng)作者可以不那麼注重程式技巧,所以許多 Java 的特性在 Java Script 中并不支援。 

二、JavaScript和Java的區(qū)別
雖然JavaScript與Java有緊密的聯(lián)系,但卻是兩個(gè)公司開發(fā)的不同的兩個(gè)產(chǎn)品。Java是SUN公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,特別適合于Internet應(yīng)用程序開發(fā);而JavaScript是Netscape公司的產(chǎn)品,其目的是為了擴(kuò)展Netscape Navigator功能,而開發(fā)的一種可以嵌入Web頁面中的基于對(duì)象和事件驅(qū)動(dòng)的解釋性語言,它的前身是Live Script;而Java的前身是Oak語言。下面對(duì)兩種語言間的異同作如下比較:

基于對(duì)象和面向?qū)ο?/strong>
Java是一種真正的面向?qū)ο蟮恼Z言,即使是開發(fā)簡(jiǎn)單的程序,必須設(shè)計(jì)對(duì)象。 
JavaScript是種腳本語言,它可以用來制作與網(wǎng)絡(luò)無關(guān)的,與用戶交互作用的復(fù)雜軟件。它是一種基于對(duì)象(Object Based)和事件驅(qū)動(dòng)(Event Driver)的編程語言。因而它本身提供了非常豐富的內(nèi)部對(duì)象供設(shè)計(jì)人員使用。 

解釋和編譯
兩種語言在其瀏覽器中所執(zhí)行的方式不一樣。Java的源代碼在傳遞到客戶端執(zhí)行之前,必須經(jīng)過編譯,因而客戶端上必須具有相應(yīng)平臺(tái)上的仿真器或解釋器,它可以通過編譯器或解釋器實(shí)現(xiàn)獨(dú)立于某個(gè)特定的平臺(tái)編譯代碼的束縛。
JavaScript是一種解釋性編程語言,其源代碼在發(fā)往客戶端執(zhí)行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給客戶編由瀏覽器解釋執(zhí)行。 

強(qiáng)變量和弱變量
兩種語言所采取的變量是不一樣的。
Java采用強(qiáng)類型變量檢查,即所有變量在編譯之前必須作聲明。如: 
Integer x; 
String y;
x=1234;
x=4321;
其中X=1234說明是一個(gè)整數(shù),Y=4321說明是一個(gè)字符串。
JavaScript中變量聲明,采用其弱類型。即變量在使用前不需作聲明,而是解釋器在運(yùn)行時(shí)檢查其數(shù)據(jù)類型,如:
x=1234;
y="4321";
前者說明x為其數(shù)值型變量,而后者說明y為字符型變量。

代碼格式不一樣
Java是一種與HTML無關(guān)的格式,必須通過像HTML中引用外媒體那么進(jìn)行裝載,其代碼以字節(jié)代碼的形式保存在獨(dú)立的文檔中。
JavaScript的代碼是一種文本字符格式,可以直接嵌入HTML文檔中,并且可動(dòng)態(tài)裝載。編寫HTML文檔就像編輯文本文件一樣方便。

嵌入方式不一樣
在HTML文檔中,兩種編程語言的標(biāo)識(shí)不同,JavaScript使用<Script>...</Script>來標(biāo)識(shí),而Java使用<applet>...</applet>來標(biāo)識(shí)。 

靜態(tài)聯(lián)編和動(dòng)態(tài)聯(lián)編
Java采用靜態(tài)聯(lián)編,即Java的對(duì)象引用必須在編譯時(shí)的進(jìn)行,以使編譯器能夠?qū)崿F(xiàn)強(qiáng)類型檢查。
JavaScript采用動(dòng)態(tài)聯(lián)編,即JavaScript的對(duì)象引用在運(yùn)行時(shí)進(jìn)行檢查,如不經(jīng)編譯則就無法實(shí)現(xiàn)對(duì)象引用的檢查。 

三、JavaScript程序運(yùn)行環(huán)境
Java運(yùn)行環(huán)境
軟件環(huán)境:
Windows 95/98或Windows NT。
Netscape Navigator x.0或Internet Explorer x.0。
用于編輯HTML文檔的字符編輯器(WS、WPS、Notepad、WordPad等)或HTML文檔編輯器。
硬件配置:
首先必須具備運(yùn)行Windows 95/98或Windows NT的基本硬件配置環(huán)境。推薦:
基本內(nèi)存32M。
CRT只少需要256顏色,分辨率在640X480以上。
CPU只少233以上。
鼠標(biāo)和其它外部設(shè)置(根據(jù)需要選用)。

四、編寫第一個(gè)JavaScript程序
下面我們通過一個(gè)例子,編寫第一個(gè)JavaScript程序。通過它可說明JavaScript的腳本是怎樣被嵌入到HTML文檔中的。
test1.html文檔:
<html>
<head>
<Script Language ="JavaScript">
// JavaScript Appears here.
alert("這是第一個(gè)JavaScript例子!");
alert("歡迎你進(jìn)入JavaScript世界!"); 
alert("今后我們將共同學(xué)習(xí)JavaScript知識(shí)!");
</Script> 
</Head>
</Html>

在Internet Explore5.0中運(yùn)行行后的結(jié)果見圖1-1所示。

圖1-1 程序運(yùn)行的結(jié)果

說明: test.html是HTML文檔,其標(biāo)識(shí)格式為標(biāo)準(zhǔn)的HTML格式;
如同HTML標(biāo)識(shí)語言一樣, JavaScript程序代碼是一些可用字處理軟件瀏覽的文本,它在描述頁面的HTML相關(guān)區(qū)域出現(xiàn)。
JavaScript代碼由 <Script Language ="JavaScript">...</Script>說明。在標(biāo)識(shí)<Script Language ="JavaScript">...</Script>之間就可加入JavaScript腳本。
alert()是JavaScript的窗口對(duì)象方法,其功能是彈出一個(gè)具有OK對(duì)話框并顯示()中的字符串。
通過<!-- ...//-->標(biāo)識(shí)說明:若不認(rèn)識(shí)JavaScript代碼的瀏覽器,則所有在其中的標(biāo)識(shí)均被忽略;若認(rèn)識(shí),則執(zhí)行其結(jié)果。使用注釋這是一個(gè)好的編程習(xí)慣,它使其他人可以讀懂你的語言。
JavaScript 以 </Script> 標(biāo)簽結(jié)束。 


從上面的實(shí)例分析中我們可以看出,編寫一個(gè)JavaScript程序確實(shí)非常容易的。


dm520