JavaScript 基礎(chǔ)問答一
今天在網(wǎng)上看到了一份很不錯的JavaScript FAQ,由于擔(dān)心自己并不能一直把它讀完,所以就嘗試翻譯一些內(nèi)容,和朋友們一起分享。
FAQ原地址:http://www.javascripter.net/faq/index.htm
一、常見問題
1、關(guān)于這個FAQ(About this FAQ)
Q:為什么要使用這個FAQ?
A:這個FAQ的目的是幫助你開發(fā)強壯的客戶端腳本,它不但可以運行在Netscape Navigator上,也同樣可以運行在Microsoft Internet Explorer上,并且是在各種操作系統(tǒng)下。這個FAQ所收集的內(nèi)容不同于以下這些:
這里回答都是基于平臺無關(guān)性的編碼,而不是針對某一個特定的瀏覽器或者平臺的。
這里的大多數(shù)回答都包含交互性代碼,不用離開你正在瀏覽的頁面就可以運行并得到結(jié)果(譯者注:這個需要到原文上運行,點擊標(biāo)題就可以進入到原文中)。
在這里你可以找到問題的解決方案,而不只是確認(rèn)問題存在。例如,其他資源可能會說:對不起,JavaScript不能從服務(wù)器上讀取文件。而這個FAQ就會給你解決方案:這是一個Java applet,它可以幫助JavaScript從服務(wù)器讀取文件。
2、JavaScript是什么(What is JavaScript)
Q:JavaScript是什么?
A:JavaScript是一種被設(shè)計為在HTML頁面增加交互性的腳本語言。在1995年,它由Netscape社區(qū)第一次在Netscape Navigator 2 beta上實現(xiàn)。JavaScript不同于Java語言(由Sun微系統(tǒng)開發(fā))。不過,二者的互操作很好。
JavaScript語言或者腳本,通常被直接嵌入到HTML文件中間。當(dāng)用戶的瀏覽器打開這個HTML文件時,腳本就會執(zhí)行。(其實也有服務(wù)端JavaScript,但是它已經(jīng)超出了本FAQ的范圍。)
JavaScript是一種解釋性語言。這就是說,腳本在執(zhí)行前并不會提前編譯,也就是,腳本不會轉(zhuǎn)化系統(tǒng)相關(guān)的機器碼。用戶的瀏覽器解釋腳本,即,分析和立即執(zhí)行。JavaScript被以下的瀏覽器支持:
Netscape Navigator(從2.0開始)
Microsoft Internet Explorer (從3.0開始)
其他一些瀏覽器/產(chǎn)品,它們的制造商許可或?qū)崿F(xiàn)了JavaScript解釋器(如Opera,F(xiàn)irefox)
因此,當(dāng)前大部分因特網(wǎng)用戶的瀏覽器都支持JavaScript。這也是JavaScript為什么是向網(wǎng)頁中增加交互性最流行的工具之一。
3. JavaScript的特性(JavaScript Features)
Q:JavaScript程序可以做什么?
A: 下面的列表給出了一部分典型的任務(wù),在其中JavaScript作用顯著:
在下面你會發(fā)現(xiàn)一些簡單的例子來演示每一個任務(wù)。
示例:在這里,你可以修改這個頁面的背景色,還有瀏覽器狀態(tài)欄上的文字。
II.檢測用戶的瀏覽器和操作系統(tǒng)。。如果需要,這個能力可以檢測到用戶的瀏覽器和操作系統(tǒng)信息,讓你執(zhí)行平臺相關(guān)的操作。
示例,不同瀏覽器的用戶會得到不同的問候:
示例:這是一個JavaScript計算器,輸入一個算數(shù)表達式,JavaScript就會計算它的值。
示例:在上面的計算器,如果輸入字母代替數(shù)字,就會得到警告:Invaid input characters!
注意,JavaScript協(xié)助瀏覽器執(zhí)行輸入校驗,而不用浪費用戶訪問Web服務(wù)器的時間。如果用戶在輸入時犯錯,他就會立即得到提示。另一方面,如果輸入信息只能在服務(wù)器上校驗,那么用戶就不得不等待服務(wù)器響應(yīng)。
示例1:這是一個JavaScript時鐘。
示例2:這個腳本會根據(jù)當(dāng)前時間說“Nice morning, isn't it?”或者“Good afternoon!”或者“Wow, you are not sleep yet!?”。它還會告訴你今天的日期。
示例:左側(cè)的目錄(譯者注:在原文,左側(cè)是一個目錄)就是動態(tài)展開的。要查看某項的所有子項時,點擊與之相應(yīng)的白色箭頭。隱藏時,點擊箭頭
。
每次點擊這些箭頭,瀏覽器就會在左側(cè)框架中產(chǎn)生和顯示一個新的HTML頁面。正是由于JavaScript,這個才可以在客戶端完成,因此你不用等待信息在瀏覽器和Web服務(wù)器之間的來往反復(fù)。
相關(guān)文章
關(guān)于JavaScript的Array數(shù)組方法詳解
這篇文章主要介紹了關(guān)于JavaScript的Array數(shù)組方法詳解,數(shù)組是一個固定長度的存儲相同數(shù)據(jù)類型的數(shù)據(jù)結(jié)構(gòu),數(shù)組中的元素被存儲在一段連續(xù)的內(nèi)存空間中,它是最簡單的數(shù)據(jù)結(jié)構(gòu)之一,需要的朋友可以參考下2023-05-05JavaScript高級程序設(shè)計(第3版)學(xué)習(xí)筆記10 再訪js對象
在ECMAScript中,兩個核心主題就是對象與函數(shù),而這兩個主題也有些互相纏繞的,在前面幾個博文中大略的過了一遍函數(shù)相關(guān)的基礎(chǔ)知識,這篇文章再回到對象主題上來2012-10-10