今天在網上看到了一份很不錯的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伺服器之間的來往反覆。