今天在網上看到了一份很不錯的JavaScript FAQ,由於擔心自己並不能一直把它讀完,所以就嘗試翻譯一些內容,和朋友們一起分享。
FAQ原地址:http://www.javascripter.net/faq/index.htm
一、常見問題
1、關於這個FAQ(About this FAQ)
Q:為什麼要使用這個FAQ?
A:這個FAQ的目的是幫助你開發強壯的客戶端腳本,它不但可以運行在Netscape Navigator上,也同樣可以運行在Microsoft Internet Explorer上,並且是在各種操作系統下。這個FAQ所收集的內容不同於以下這些:
這裡回答都是基於平台無關性的編碼,而不是針對某一個特定的浏覽器或者平台的。
這裡的大多數回答都包含交互性代碼,不用離開你正在浏覽的頁面就可以運行並得到結果(譯者注:這個需要到原文上運行,點擊標題就可以進入到原文中)。
在這裡你可以找到問題的解決方案,而不只是確認問題存在。例如,其他資源可能會說:對不起,JavaScript不能從服務器上讀取文件。而這個FAQ就會給你解決方案:這是一個Java applet,它可以幫助JavaScript從服務器讀取文件。
2、JavaScript是什麼(What is JavaScript)
Q:JavaScript是什麼?
A:JavaScript是一種被設計為在HTML頁面增加交互性的腳本語言。在1995年,它由Netscape社區第一次在Netscape Navigator 2 beta上實現。JavaScript不同於Java語言(由Sun微系統開發)。不過,二者的互操作很好。
JavaScript語言或者腳本,通常被直接嵌入到HTML文件中間。當用戶的浏覽器打開這個HTML文件時,腳本就會執行。(其實也有服務端JavaScript,但是它已經超出了本FAQ的范圍。)
JavaScript是一種解釋性語言。這就是說,腳本在執行前並不會提前編譯,也就是,腳本不會轉化系統相關的機器碼。用戶的浏覽器解釋腳本,即,分析和立即執行。JavaScript被以下的浏覽器支持:
Netscape Navigator(從2.0開始)
Microsoft Internet Explorer (從3.0開始)
其他一些浏覽器/產品,它們的制造商許可或實現了JavaScript解釋器(如Opera,Firefox)
因此,當前大部分因特網用戶的浏覽器都支持JavaScript。這也是JavaScript為什麼是向網頁中增加交互性最流行的工具之一。
3. JavaScript的特性(JavaScript Features)
Q:JavaScript程序可以做什麼?
A: 下面的列表給出了一部分典型的任務,在其中JavaScript作用顯著:
給予用戶更多的浏覽器控制權
檢測用戶的浏覽器、操作系統、屏幕尺寸等等
在客戶端執行簡單的計算
驗證用戶的輸入
處理日期和時間
在運行過程中不訪問Web服務器生成HTML頁面
在下面你會發現一些簡單的例子來演示每一個任務。
I.給予用戶更多的浏覽器控制權
示例:在這裡,你可以修改這個頁面的背景色,還有浏覽器狀態欄上的文字。
II.檢測用戶的浏覽器和操作系統。。如果需要,這個能力可以檢測到用戶的浏覽器和操作系統信息,讓你執行平台相關的操作。
示例,不同浏覽器的用戶會得到不同的問候:
III.在客戶端執行簡單計算。
示例:這是一個JavaScript計算器,輸入一個算數表達式,JavaScript就會計算它的值。
IV.驗證用戶數輸入。
示例:在上面的計算器,如果輸入字母代替數字,就會得到警告:Invaid input characters!
注意,JavaScript協助浏覽器執行輸入校驗,而不用浪費用戶訪問Web服務器的時間。如果用戶在輸入時犯錯,他就會立即得到提示。另一方面,如果輸入信息只能在服務器上校驗,那麼用戶就不得不等待服務器響應。
V.處理日期和時間。
示例1:這是一個JavaScript時鐘。
示例2:這個腳本會根據當前時間說“Nice morning, isn't it?”或者“Good afternoon!”或者“Wow, you are not sleep yet!?”。它還會告訴你今天的日期。
VI. 運行中生成HTML頁面。
示例:左側的目錄(譯者注:在原文,左側是一個目錄)就是動態展開的。要查看某項的所有子項時,點擊與之相應的白色箭頭。隱藏時,點擊箭頭。
每次點擊這些箭頭,浏覽器就會在左側框架中產生和顯示一個新的HTML頁面。正是由於JavaScript,這個才可以在客戶端完成,因此你不用等待信息在浏覽器和Web服務器之間的來往反復。