Site hosted by Angelfire.com: Build your free website today!

Java及Javascript之概述


 
近年來,隨著Internet與WWW的風行,許多與之相關的東西也隨之流行起來,Java和 JavaScript便是在這股風潮下興起的兩種語言,雖然兩者有著類似的名字,但是兩者之間的關係遠比不上它們的名字來的親密。

JavaScript的前身是由網景公司發展的LifeScript語言,直到獲得昇陽公司的支持才改名為JavaScript,而昇陽公司正是Java語言的發展者,也因為這樣,兩者有了相似的名字,而同時也有了一些相似的特性,儘管如此,兩者仍然是不同的語言,不但在目的上是如此,在應用方面也是如此,不過相信有許多的人有著Java和JavaScript到底有什麼不同的疑問,在這裡提出一些觀點:

一、
首先,JavaScript正如它名字中的Script所示,是一種描述語言.描述語言在執行前 並不需要編譯和連結等動作,而這些動作是如C/C++,Java之類的程式語言在執行前 的必備動作。 

二、JavaScript本身結構較為鬆散,例如其在使用變數前並不需要明確的定義,這是其他 較為嚴謹的語言所不允許的。 

三、JavaScript是內嵌於HTML文件之中,而Java卻是獨立於HTML文件之外,由於 JavaScript是一種描述語言,而且本身又內嵌於HTML文件中,所以由JavaScript所寫 成的程式就無法受到保護,任何人皆可藉由HTML文件中看到以及複製該程式。 

四、目前市面上缺乏良好的JavaScript發展,除錯環境(也許已經有了),或許因為一般 JavaScript只是應用在Client端的一些小程式,所以即使遇到一些程式錯誤,程式設 計者仍可以獨立的解決並完成,但是如果要設計一個較大型的程式,相信並不容易。 

五、雖然JavaScript可以呼叫URLs,JavaScript並不具備Server跟Client端雙向溝通的能 力,事實上JavaScript多用來處理Client端的事情。 

六、透過FORM元件,JavaScript和Client端可以達成良好的互動關係,以上所提的觀點, 可說是Java和JavaScript不同的地方,不過這只代表個人的觀點,而且兩者快速的發 展也可能改變上述的一些觀點,在稍微了解Java和JavaScript不同之處後,我們應該 繼續對JavaScript的特性做一番認識,和許多新興的語言相同,JavaScript也是建立 在物件(object)的觀念之上,對於像筆者一樣未曾學習過以物件為主的程式語言的人 ,或許很難去了解物件的真正含意,基本上,物件有兩個非常重要的特性,那就是 屬性(properties)和方法(methods),物件可以看成是一群東西的集合,而屬於同一 物件的東西都擁有相同的屬性,而且也適用於相同的方法,例如在JavaScript中定義 了string這種物件,而如果變數string1屬於string這種物件,那麼string1就擁有了 string物件的所有屬性和方法,舉例來說,string物件有一種屬性length,因此 string1也擁有了length這個屬性,我們用string1,length來代表它,其意思是這 個字串的長度,另外對於string這種物件還有一個叫做toLowerCase的方法,那麼對 於string1而言,我們便可以用string1,toLowerCase( )來表示,此一方法會將 string1字串的字元全部改為小寫,如此一來,我們可以將方法看成是一種函數,只 不過這些函數只適用於特定的物件之下。基本上,JavaScript並沒有太多的語法,而 且其語法和大部分的語言也都相同,因此學習JavaScript應該不是一件很困難的工作 ,學習的重心應該是在於了解並應用JavaScript中所定義的各種物件,當然了,各種 物件和Client端,尤其是和HTML文件的關係更是需要詳加研究的,透過JavaScript, 我們可以動態的改變HTML文件的內容,甚至可以和使用者達成互動的關係,而這樣的 互動關係其實只是Client端的事情,Server端並沒有參予,也因此網路的交通量將較 利用CGI來達成互動關係時來的少,只不過因為這樣的互動關係只存在於Client端, 如果要達成Server跟Client端的互動JavaScript就無用武之地了,或許我們看一下 JavaScript的一些應用程式便可以對這樣的說法有更深的了解:

  依據使用者先前瀏覽的記錄(利用Cookies),動態地改變HTML文件,網路遊戲:例如火柴遊戲,井字棋等。和使用者互動的改變HTML文件的顏色等設定,根據使用者的選擇 ,動態地建立不同的連線,計算機,時鐘等小工具,讀取或改變form文件的內容.如果 使用了CGI,則JavaScript可先做一些簡單的處理(例如檢查輸入的合法性),否則 JavaScript便完成所有的動作,由此看來,JavaScript所寫成的程式通常是小型的,而 且沒有和Server有所關連,如果想要開發一個較大型,且具備和Server端溝通能力的 程式,Java將會是較佳的選擇,最後再次強調,隨著WWW的快速發展,兩個語言也同樣 的快速發展著,或許這樣的觀念很快就會被更正了,不論如何,學習JavaScript卻絕對 不會是落伍的。