同標題
只知道他們是語法
但該如何區分 如何用呢
(Java Script又是什麼 )
er">
I. HTML 簡介
HTML (HyperText Markup Language) 翻譯成中文是 "超文件標示語言" 或 "超文字標示語言"。我們在瀏覽全球資訊網 (World-Wide-Web, or WWW) 時所看到的一頁一頁的網頁,基本上就是以 HTML 為格式編寫出的檔案為主。HTML 的檔案是純文字檔,在檔案中用標籤 (tag) 標示出不同區段的格式,以及要參照到的其他格式的檔案名稱 (位址),再透過 WWW 瀏覽器 (如 IE , Netscape 等) 來解譯標籤,將文件格式化,並呈現出來。換言之,HTML 的標籤其實就可以看成是對瀏覽器下令更改文件顯示格式的命令。在 HTML 中的標籤均是以 <指令> 開始,以</指令>結束。一般規定,依 HTML 規定所編寫出的文件檔案,其副檔名為 HTM 或 HTML。
HTML 的語法特性尚有:
1. 指令不分大小寫,但在內文時則需劃分 (檔名,URL等的大小寫尤應注意)。
2. 指令須用 < 以及 > 包住,並且大多成雙成對。需成對出現的指令呈巢狀結構,亦即先開始的指令後結束。
3. HTML中多餘的空白都會被忽略
註:因為 HTML 的檔案是純文字檔,所以可以用任何的文書編輯軟體,如記事本等來撰寫。
II. HTML 架構
一個基本的HTML文件應具備如下的架構:
<HTML> <HEAD> <BODY> </HTML> |
以下為一個基本的HTML檔的內容
<HTML> <HEAD> <BODY> </HTML> |
如果將上面的八行存成附檔名為 .htm 或 .html 的純文字檔,就是一個簡單的網頁了
JavaScript 早期是由 Netscape Communications 公司所開發的一種解譯式程式語言,專門用在網頁中,並在用戶端的電腦執行,以提高網頁的互動性為主要目標。早期的瀏覽器,例如 Netscape,也只有支援 JavaScript 為主要的客戶端網頁程式語言。而近期的瀏覽器,例如 IE,通常可以支援兩種程式語言,包含 JavaScript 和 VBScript,但是 JavaScript 還是網頁內訂預設的客戶端程式語言。因此只有 JavaScript 能同時適用於 Netscape 和 IE 瀏覽器,而 VBScript 只能適用於 IE 瀏覽器。
JavaScript 開始是內嵌於網頁的程式語言,但由於其易學易用,又很接近於一般的 C 和 C++ 語言,所以受到很大歡迎。微軟有鑑於此,又將此此言擴充到其他平台,如 IIS(Internet Information Server,微軟的網頁伺服器)的 ASP(Active Server Pages)和單機可執行的 WSH(Window Scripting Hosts)。因此,JavaScript 可發揮的平台可以說是越來越多,可以列舉如下:
- 用戶端:預設的網頁程式語言,可用於 IE 或 Netscape 瀏覽器。
- 伺服器:適用於微軟 IIS 網頁伺服器的 ASP 語言環境,可在網頁送到客戶端之前,進行各種處理,或和資料庫進行資料存取。
- 單機版:適用於微軟的視窗作業系統,包含 Windows 98/ME/2000/XP 等,可用於取代原先功能不強的 DOS 批次檔(Batch Files),特別適用於處理日常性或重複型的工作,例如網頁的抓取或帳號的建立,等等。
由於篇幅有限,本篇教材對於 JavaScript 的介紹,僅限於在用戶端網頁的應用,至於在伺服器端及在單機方面的使用,可參考本書的另外兩篇。因此以下的介紹,均只限於內嵌於用戶端網頁的程式設計與應用。
基本上來說,只要是 Netscape 2.0 以上,或是 Explorer 3.0 以上,都可以支援 JavaScript,但是這兩種瀏覽器支援的程度並不完全相同。事實上 IE 所支援的版本是 JScript,這是微軟本身所發展出來的 JavaScript 版本,和 Netscape 的 JavaScript 雖有小異之處,但其特性及語法仍大致相同,因此在本書中,我們暫時可將 JavaScript 與 JScript 視為同一種語言。無論是 JavaScript 或是 JScript,都滿足 ECMA(European Computer Manufacturer's Association,歐洲電腦製造商協會)所提出來的標準,滿足此標準的語言稱為 ECMAScript,當初 Netscape 和微軟也都有參與此語言的制訂。
JavaScript 在網頁程式設計的主要功能可列舉如下:
- 提高網頁互動性及趣味性,例如以 JavaScript 所發展出來的各種遊戲。
- 執行在用戶端的計算及驗證,以減少伺服器端的計算及網路流量,例如表單驗證(Form Validation)。
- Cache功能,可將未用到的圖檔(或其他檔案)預先抓回,以增加使用者的便利。
JavaScript 語言可以產生各種不同的物件,以及與物件相關的方法與性質,因此此語言可以說是「物件基礎」(Object-based)的程式語言,但並不是「物件導向」(Object-oriented),因為它在物件方面的功能並沒有像 C++ 那麼完全。此外,JavaScript 屬於底稿式語言(Scripting Language),相關的特性可以列表說明如下:
- JavaScript 的程式碼是內嵌於 HTML 原始碼之中,並由瀏覽器的 JavaScript 解譯器(Interprter)來執行程式碼,最後將結果呈現於瀏覽器。換句話說,JavaScript 的程式碼是由瀏覽器來執行,所以在用戶端絕對看的到 JavaScript 的原始碼,較難加以保護。
- 由於安全性的考量,除了讀寫 Cookies(請參見篇教材後面的介紹)之外,JavaScript 並無法讀取用戶端的檔案或硬碟。
- 使用變數時,不需要宣告變數型態,JavaScript 會自動決定。
- 對於不同的資料型態(如字串與數值),JavaScript 可以根據不同情況,自動進行資料型態的合理轉換。
其他和 JavaScript 功能相近的用戶端程式語言,可列舉如下:
- VBScript: 由微軟發展出的程式語言
- JScript: 由微軟發展的 JavaScript 版本
- PerlScript: 以 Perl 概念所發展出的程式語言(一般較少用到,因為考慮到用戶端必須先安裝 Perl 解譯器,才能執行)
當 Netscape 在發展 JavaSript 時,Sun Microsystems 公司也正在發展客戶端的程式語言 Java。原先 JavaScript 本名叫做 LiveScript,後來Sun Microsystems 公司研發的 Java 程式語言似乎有一飛沖天之勢,Netscape 乃順天應人,順勢將 LiveScript 改名為 JavaScript。常常有人把 JavaScript 和 Java 混為一談,事實上這兩者除了名字相近外,並無其他關係。以下是一個 JavaScript 和 Java 的比較表,列出兩者相同和相異之處。(如果你是初學者,看不懂此表,也沒有關係,因為這並不影響對後續教材的學習。)
JavaScript | Java |
---|---|
Interpreted (not compiled) by client. | Compiled bytecodes downloaded from server, executed on client. |
Object-based. No distinction between types of objects. Inheritance is through the prototype mechanism and properties and methods can be added to any object dynamically. | Object-oriented. Objects are divided into classes and instances with all inheritance through the class hieararchy. Classes and instances cannot have properties or methods added dynamically. |
Code integrated with, and embedded in, HTML. | Applets distinct from HTML (accessed from HTML pages). |
Variable data types not declared (loose typing). | Variable data types must be declared (strong typing). |
Dynamic binding. Object references checked at runtime. | Static binding. Object references must exist at compile-time. |
Cannot automatically write to hard disk. | Cannot automatically write to hard disk. |
參考資料
http://bsd.ltcvs.ilc.edu.tw/~web/html_introduction.htmJavaScript 程式設計與應用:用戶端 張智星
留言列表