基于任務驅動模式的JavaScript程序設計案例第1章JavaScript入門_第1頁
基于任務驅動模式的JavaScript程序設計案例第1章JavaScript入門_第2頁
基于任務驅動模式的JavaScript程序設計案例第1章JavaScript入門_第3頁
基于任務驅動模式的JavaScript程序設計案例第1章JavaScript入門_第4頁
基于任務驅動模式的JavaScript程序設計案例第1章JavaScript入門_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第1章 JavaScript入門 基于任務驅動模式的基于任務驅動模式的JavaScriptJavaScript程程序設計案例第序設計案例第1 1章章 JavaScriptJavaScript入門入門第1章 JavaScript入門 第1章 JavaScript入門 第1章 JavaScript入門 第1章 JavaScript入門 第1章 JavaScript入門 第1章 JavaScript入門 解釋性語言:JavaScript是一種解釋性腳本語言,無需專門編譯器編譯,而是在嵌入JavaScript腳本的HTML文檔載入時被瀏覽器逐行地解釋,大量節(jié)省客戶端與效勞器端進行數(shù)據(jù)交互的時間。實時性

2、:JavaScript事件處理是實時的,無須經(jīng)效勞器就可以直接對客戶端的事件做出響應,并用處理結果實時更新目標頁面。動態(tài)性:JavaScript提供簡單高效的語言流程,能夠靈活處理對象的各種方法和屬性,同時及時響應文檔頁面事件,實現(xiàn)頁面的交互性和動態(tài)性。第1章 JavaScript入門 跨平臺:JavaScript腳本的正確運行依賴于瀏覽器,而與具體的操作系統(tǒng)無關。只要客戶端裝有支持JavaScript腳本的瀏覽器,JavaScript腳本運行結果就能正確反映在客戶端瀏覽器平臺上。開發(fā)使用簡單:JavaScript根本結構類似于C語言,采用小程序段的方式編程,通過簡易的開發(fā)平臺和便捷的開發(fā)流程

3、,就可以嵌入到HTML文檔中供瀏覽器解釋執(zhí)行。同時JavaScript的變量類型是弱類型,使用不嚴格。第1章 JavaScript入門 相對平安性:JavaScript是客戶端腳本,通過瀏覽器解釋執(zhí)行。它不允許訪問本地的硬盤,不能將數(shù)據(jù)存入到效勞器上,不允許對網(wǎng)絡文檔進行修改和刪除,只能通過瀏覽器實現(xiàn)信息瀏覽或動態(tài)交互,從而能夠有效地防止數(shù)據(jù)喪失。綜上所述,JavaScript是一種有較強生命力和開展?jié)摿Φ哪_本描述語言,它可以直接嵌入到HTML文檔中,供瀏覽器解釋執(zhí)行,直接響應客戶端事件如驗證數(shù)據(jù)表單合法性,并調用相應的處理方法,迅速返回處理結果并更新頁面,實現(xiàn)Web交互性和動態(tài)性的要求,同時

4、將大局部的工作交給客戶端處理,將Web效勞器的資源消耗降到最低。第1章 JavaScript入門 1.2.3 JavaScript能做什么能做什么1. 表單數(shù)據(jù)合法性驗證表單數(shù)據(jù)合法性驗證使用使用JavaScript腳本語言能有效驗證客戶端提交的表單腳本語言能有效驗證客戶端提交的表單上數(shù)據(jù)的合法性,假設數(shù)據(jù)合法那么執(zhí)行下一步操作,否上數(shù)據(jù)的合法性,假設數(shù)據(jù)合法那么執(zhí)行下一步操作,否那么返回錯誤提示信息,如圖那么返回錯誤提示信息,如圖1-1所示。所示。第1章 JavaScript入門 圖1-1第1章 JavaScript入門 2. 網(wǎng)頁特效使用JavaScript腳本語言,結合DOM和CSS能創(chuàng)

5、立絢麗多彩的網(wǎng)頁特效,如火焰狀閃爍文字、文字環(huán)繞光標旋轉、隨鼠標滾動的廣告圖片等。隨鼠標滾動的廣告圖片效果如圖1-2所示。第1章 JavaScript入門 圖1-2第1章 JavaScript入門 3. 交互式操作使用JavaScript腳本語言可以創(chuàng)立具有動態(tài)效果的交互式菜單,完全可以與Falsh制作的頁面導航菜單相媲美。如圖1-3所示,鼠標在文檔內任何位置單擊,在其周圍出現(xiàn)如圖1-3所示的導航菜單。圖1-3第1章 JavaScript入門 1.3 JavaScript編程起步編程起步JavaScript腳本語言已經(jīng)成為腳本語言已經(jīng)成為Web應用應用程序開發(fā)的一門炙手可熱的語言,成為客戶程序

6、開發(fā)的一門炙手可熱的語言,成為客戶端腳本的首選。網(wǎng)絡上充滿著形態(tài)各異的能端腳本的首選。網(wǎng)絡上充滿著形態(tài)各異的能夠實現(xiàn)不同功能的夠實現(xiàn)不同功能的JavaScript腳本,但用戶腳本,但用戶也許并不了解也許并不了解JavaScript腳本是如何被瀏覽腳本是如何被瀏覽器解釋執(zhí)行的,更不知如何開始編寫自己的器解釋執(zhí)行的,更不知如何開始編寫自己的JavaScript腳本來實現(xiàn)自己想要的效果?,F(xiàn)腳本來實現(xiàn)自己想要的效果。現(xiàn)在我們將一步步帶著大家踏入在我們將一步步帶著大家踏入JavaScript腳腳本語言編程的大門。本語言編程的大門。1.3.1 Hello World程序程序像學習像學習C、Java等語言一

7、樣,先來看看等語言一樣,先來看看使用使用JavaScript腳本語言編寫的腳本語言編寫的 “Hello World!程序:程序:第1章 JavaScript入門 Sample Page! document.write(Hello World!); 第1章 JavaScript入門 將上述代碼保存為.htm(或.html)文件并雙擊翻開,系統(tǒng)將調用默認瀏覽器解釋執(zhí)行,結果如圖1-4所示。圖1-4第1章 JavaScript入門 JavaScript腳本語言編程一般分為如下步驟:(1) 選擇JavaScript語言編輯器編輯腳本代碼;(2) 嵌入該JavaScript腳本代碼到HTML文檔中;(3

8、) 選擇支持JavaScript的瀏覽器瀏覽該HTML文檔;(4) 如果錯誤那么檢查并修正源代碼,重新瀏覽,重復此過程直至代碼正確為止;(5) 處理不支持JavaScript腳本語言的情況。由于JavaScript腳本代碼是嵌入到HTML文檔中被瀏覽器解釋執(zhí)行的,所以開發(fā)JavaScript腳本代碼并不需要特殊的編程環(huán)境,只需要普通的文本編輯器和支持JavaScript腳本語言的瀏覽器即可。那么如何選擇JavaScript腳本編輯器呢? 第1章 JavaScript入門 1.3.2 選擇選擇JavaScript腳本編輯器腳本編輯器編寫編寫JavaScript腳本代碼可以選擇普通的文本編輯器,腳

9、本代碼可以選擇普通的文本編輯器,如如Windows Notepad、UltraEdit等,只要所選編輯器能將所等,只要所選編輯器能將所編輯的代碼最終保存為編輯的代碼最終保存為HTML文檔類型文檔類型(.htm、.html等等)即可。即可。雖然雖然Dreamweaver、Microsoft FrontPage等專業(yè)網(wǎng)頁開等專業(yè)網(wǎng)頁開發(fā)工具套件內部集成了發(fā)工具套件內部集成了JavaScript腳本語言的開發(fā)環(huán)境,但腳本語言的開發(fā)環(huán)境,但我們依然建議我們依然建議JavaScript腳本程序開發(fā)者在起步階段使用最腳本程序開發(fā)者在起步階段使用最根本的文本編輯器,如根本的文本編輯器,如NotePad、Ul

10、traEdit等進行開發(fā),以等進行開發(fā),以便把注意力放在便把注意力放在JavaScript腳本語言而不是開發(fā)環(huán)境上。腳本語言而不是開發(fā)環(huán)境上。同時,如果腳本代碼出現(xiàn)錯誤,可用該編輯器翻開源同時,如果腳本代碼出現(xiàn)錯誤,可用該編輯器翻開源文件文件(.htm、.html或或.js)修改后保存,重新使用瀏覽器瀏覽,修改后保存,重新使用瀏覽器瀏覽,重復此過程直到?jīng)]有錯誤出現(xiàn)為止。重復此過程直到?jīng)]有錯誤出現(xiàn)為止。第1章 JavaScript入門 1.3.3 引入腳本代碼到引入腳本代碼到HTML文檔中文檔中將JavaScript腳本嵌入到HTML文檔中有3種標準方法:(1) 代碼包含于和標記對中,然后嵌入到

11、HTML文檔中;(2) 通過標記的src屬性鏈接外部的JavaScript腳本文件;(3) 通過JavaScript偽URL地址引入。下面分別介紹JavaScript腳本的幾種標準引入方法。第1章 JavaScript入門 1. 通過與標記對引入在JavaScript腳本代碼中除了與標記對之間的內容外,都是最根本的HTML代碼,可見和標記對將JavaScript腳本代碼封裝并嵌入到HTML文檔中。瀏覽器載入嵌有JavaScript腳本的HTML文檔時,能自動識別JavaScript腳本代碼起始標記和結束標記,并將其間的代碼按照解釋JavaScript腳本代碼的方法加以解釋,然后將解釋結果返回H

12、TML文檔并在瀏覽器窗口顯示。來看看下面的代碼:第1章 JavaScript入門 document.write(Hello World!); 首先和標記對將 JavaScript 腳本代碼封裝,同時告訴瀏覽器其間的代碼為 JavaScript 腳本代碼,然后調用document 文檔對象的 write( )方法寫字符串到 HTML 文檔中。 第1章 JavaScript入門 下面重點介紹標記的幾個屬性:(1) language屬性:用于指定封裝代碼的腳本語言及版本,有的瀏覽器還支持Perl、VBScript等,幾乎所有腳本瀏覽器都支持JavaScript(非常老的版本除外),同時languag

13、e屬性默認值也為JavaScript。(2) type屬性:指定和標記對之間插入的腳本代碼類型。(3) src屬性:用于將外部的腳本文件內容嵌入到當前文檔中,一般在較新版本的瀏覽器中使用。第1章 JavaScript入門 2. 通過通過標記的標記的src屬性引入屬性引入例如,改寫程序代碼并保存為test.html。 Sample Page! 第1章 JavaScript入門 同時在文本編輯器中編輯如下代碼并將其保存為1.js:將test.html和1.js文件放置于同一目錄,雙擊運行test.html,結果如圖1-4所示??梢娡ㄟ^外部引入JavaScript腳本文件的方式,能實現(xiàn)同樣的功能。這

14、種方法具有如下優(yōu)點:(1) 將腳本程序同現(xiàn)有頁面的邏輯結構及瀏覽器結果別離。通過外部腳本,可以輕松實現(xiàn)多個頁面共同完成同一功能的腳本文件,以通過更新一個腳本文件內容到達批量更新的目的;(2) 瀏覽器可以實現(xiàn)對目標腳本文件的高速緩存,防止由于引用同樣功能的腳本代碼而導致的下載時間的增加。document.write(Hello World!); 第1章 JavaScript入門 3. 通過JavaScript偽URL引入在多數(shù)支持JavaScript腳本語言的瀏覽器中,可以通過JavaScript偽URL地址調用語句來引入JavaScript腳本代碼。偽URL地址的一般格式如下:一般以“java

15、script:開始,后面緊跟要執(zhí)行的操作。下面的代碼將演示如何使用偽URL地址引入JavaScript代碼:javascript:alert(Hello World!) Sample Page! 第1章 JavaScript入門 偽 URL 地址引入 JavaScript 腳本代碼實例: 第1章 JavaScript入門 鼠標點擊文本框,彈出警示框如圖1-5所示。圖1-5第1章 JavaScript入門 1.3.4 嵌入腳本代碼的位置嵌入腳本代碼的位置JavaScript腳本代碼可放在腳本代碼可放在HTML文檔任何需要的位置。文檔任何需要的位置。一般來說,可以在一般來說,可以在與與標記對之間、

16、標記對之間、與與標記對之間按需要放置。標記對之間按需要放置。1. 與與標記對之間放置標記對之間放置放置在放置在與與標記對之間的標記對之間的JavaScript腳本腳本代碼一般用于提前載入以響應用戶的動作,一般不影響代碼一般用于提前載入以響應用戶的動作,一般不影響HTML文檔的瀏覽器顯示內容。其根本文檔結構如下:文檔的瀏覽器顯示內容。其根本文檔結構如下:第1章 JavaScript入門 文檔標題 /腳本語句 第1章 JavaScript入門 2. 與標記對之間放置如果需要在頁面載入時運行JavaScript腳本生成網(wǎng)頁內容,應將腳本代碼放置在與標記對之間,可根據(jù)需要編寫多個獨立的腳本代碼段與HT

17、ML代碼結合在一起。其根本文檔結構如下: 文檔標題 第1章 JavaScript入門 /腳本語句 /HTML語句 /腳本語句 第1章 JavaScript入門 1.4 JavaScript實現(xiàn)根底實現(xiàn)根底1.4.1 ECMAScript ECMAScript規(guī)定了能適應于各種宿主規(guī)定了能適應于各種宿主環(huán)境的腳本核心語法規(guī)那么。關于環(huán)境的腳本核心語法規(guī)那么。關于ECMAScript語言,語言,ECMA-262標準描述如標準描述如下:下: “ECMAScript可以為不同種類的宿主環(huán)境可以為不同種類的宿主環(huán)境提供核心的腳本編程能力,提供核心的腳本編程能力,因此核心的腳本因此核心的腳本語言是與任何特

18、定的宿主環(huán)境分開進行規(guī)定語言是與任何特定的宿主環(huán)境分開進行規(guī)定的的ECMAScript并不附屬于任何瀏覽器,并不附屬于任何瀏覽器,Web瀏覽器只是其能適應的宿主環(huán)境中的一瀏覽器只是其能適應的宿主環(huán)境中的一種,在其開展史上還有很多宿主環(huán)境,種,在其開展史上還有很多宿主環(huán)境,如如Microsoft的的WSH、Micromedia的的ActionScript、Nombas的的ScriptBase和和Yahool!的的Widget引擎等都可以容納引擎等都可以容納ECMAScript實現(xiàn)。實現(xiàn)。第1章 JavaScript入門 ECMAScript僅僅是個描述,定義了腳本語言所有的對象、屬性和方法,其主

19、要描述的內容有:語法、數(shù)據(jù)類型、關鍵字、保存字、運算符、對象、語句。支持ECMA標準的瀏覽器都提供自己的ECMAScript腳本語言接口,并按照需要擴展其內容,如對象、屬性和方法等。ECMAScript標準定義了JavaScript腳本中最為核心的內容,是JavaScript腳本的骨架,有了骨架,就可以在其上進行擴展,典型的擴展如DOM(文檔對象模型)和BOM(瀏覽器對象模型)等。第1章 JavaScript入門 1.4.2 DOM DOM定義了定義了JavaScript可以進行操作的文檔各個功能可以進行操作的文檔各個功能部件的接口,提供訪問文檔各個功能部件部件的接口,提供訪問文檔各個功能部件

20、(如如Document、Form、Textarea等等)的途徑以及操作方法。的途徑以及操作方法。在瀏覽器載入文檔在瀏覽器載入文檔(HTML或或XML)時,根據(jù)其支持的時,根據(jù)其支持的DOM標準級別將整個文檔規(guī)劃成由節(jié)點層級構成的節(jié)點樹,標準級別將整個文檔規(guī)劃成由節(jié)點層級構成的節(jié)點樹,文檔中每個局部都是一個節(jié)點,然后依據(jù)節(jié)點樹層級同時文檔中每個局部都是一個節(jié)點,然后依據(jù)節(jié)點樹層級同時根據(jù)目標節(jié)點的某個屬性搜索到目標節(jié)點后,調用節(jié)點的根據(jù)目標節(jié)點的某個屬性搜索到目標節(jié)點后,調用節(jié)點的相關處理方法進行處理,完成定位到處理的整個過程。相關處理方法進行處理,完成定位到處理的整個過程。第1章 JavaSc

21、ript入門 1.4.3 BOM BOM定義了定義了JavaScript可以進行操作的瀏覽器各個功可以進行操作的瀏覽器各個功能部件的接口,提供訪問文檔各個功能部件能部件的接口,提供訪問文檔各個功能部件(如窗口本身、如窗口本身、屏幕功能部件、瀏覽歷史記錄等屏幕功能部件、瀏覽歷史記錄等)的途徑以及操作方法。遺的途徑以及操作方法。遺憾的是,憾的是,BOM只是只是JavaScript腳本實現(xiàn)的一局部,沒有任腳本實現(xiàn)的一局部,沒有任何相關的標準,每種瀏覽器都有自己的何相關的標準,每種瀏覽器都有自己的BOM實現(xiàn),這一點實現(xiàn),這一點可以說是可以說是BOM的軟肋。的軟肋。第1章 JavaScript入門 通常

22、情況下瀏覽器特定的JavaScript擴展都被看作是BOM的一局部,主要包括: 關閉、移動瀏覽器及調整瀏覽器窗口大小; 彈出新的瀏覽器窗口; 提供瀏覽器詳細信息的定位對象; 提供載入到瀏覽器窗口的文檔詳細信息的定位對象; 提供用戶屏幕分辨率詳細信息的屏幕對象; 提供對Cookie的支持; 參加ActiveXObject類擴展BOM,通過JavaScript實例化ActiveX對象。第1章 JavaScript入門 BOM有一些事實上的標準,如窗口對象、導航對象等,但每種瀏覽器都為這些對象定義或擴展了屬性及方法。第1章 JavaScript入門 1.5 編編 程程 準準 備備1.5.1 Java

23、Script與與JavaJavaScript和和Java雖然名字都帶有雖然名字都帶有Java,但它們是兩種不同的語言,可以說是兩種互但它們是兩種不同的語言,可以說是兩種互不相干的語言:前者是一種基于對象的腳本不相干的語言:前者是一種基于對象的腳本語言,可以嵌在網(wǎng)頁代碼里實現(xiàn)交互及控制語言,可以嵌在網(wǎng)頁代碼里實現(xiàn)交互及控制功能,而后者是一種面向對象的編程語言,功能,而后者是一種面向對象的編程語言,可用在桌面應用程序、可用在桌面應用程序、Internet效勞器、中效勞器、中間件、嵌入式設備以及其他環(huán)境中。其主要間件、嵌入式設備以及其他環(huán)境中。其主要區(qū)別如下:區(qū)別如下:第1章 JavaScript入

24、門 開發(fā)公司不同:JavaScript是Netscape公司的產(chǎn)品,是為了擴展Netscape Navigator功能而開發(fā)的一種可以嵌入Web頁面中的基于對象和事件驅動的解釋性語言;Java是Sun公司推出的面向對象的程序設計語言,特別適合于Internet應用程序開發(fā)。語言類型不同:JavaScript是基于對象和事件驅動的腳本編程語言,本身提供了非常豐富的內部對象供設計人員使用;Java是面向對象的編程語言,即使是開發(fā)簡單的程序,也必須設計對象。第1章 JavaScript入門 執(zhí)行方式不同:JavaScript是一種解釋性編程語言,其源代碼在發(fā)往客戶端執(zhí)行之前不需要經(jīng)過編譯,而是將文本

25、格式的字符代碼發(fā)送給客戶端,由瀏覽器解釋執(zhí)行;Java的源代碼在傳遞到客戶端執(zhí)行之前,必須經(jīng)過編譯,因而客戶端上必須具有相應平臺上的仿真器或解釋器。變量類型不同:JavaScript采用弱類型變量,即變量在使用前不需作特別聲明,而是在瀏覽器解釋運行該代碼時才檢查其數(shù)據(jù)類型;Java采用強類型變量,即所有變量在通過編譯器編譯之前必須作專門聲明,否那么將會報錯。第1章 JavaScript入門 聯(lián)編方式不同:JavaScript采用動態(tài)聯(lián)編,即其對象引用在瀏覽器解釋運行時進行檢查,假設不經(jīng)編譯就無法實現(xiàn)對象引用的檢查;Java采用靜態(tài)聯(lián)編,即Java的對象引用必須在編譯時進行,以使編譯器能夠實現(xiàn)強

26、類型檢查。經(jīng)過以上幾個方面的比較,應該能清楚地認識到JavaScript和Java是沒有任何聯(lián)系的兩門語言。第1章 JavaScript入門 1.5.2 腳本執(zhí)行順序腳本執(zhí)行順序JavaScript腳本解釋器將按照程序代碼出現(xiàn)的順序來解腳本解釋器將按照程序代碼出現(xiàn)的順序來解釋程序語句,因此可以將函數(shù)定義和變量聲明放在釋程序語句,因此可以將函數(shù)定義和變量聲明放在和和之間,這樣與函數(shù)體相關的操作就不會被立即執(zhí)之間,這樣與函數(shù)體相關的操作就不會被立即執(zhí)行。行。1.5.3 大小寫敏感大小寫敏感JavaScript腳本程序對大小寫敏感,相同的字母,大小腳本程序對大小寫敏感,相同的字母,大小寫不同,代表的

27、意義也不同,如變量名寫不同,代表的意義也不同,如變量名name、Name和和NAME代表三個不同的變量名。在代表三個不同的變量名。在JavaScript腳本程序中,腳本程序中,變量名、函數(shù)名、運算符、關鍵字、對象屬性等都是對大變量名、函數(shù)名、運算符、關鍵字、對象屬性等都是對大小寫敏感的。因此,所有的關鍵字、內建函數(shù)以及對象屬小寫敏感的。因此,所有的關鍵字、內建函數(shù)以及對象屬性等的大小寫都是固定的,所以在編寫性等的大小寫都是固定的,所以在編寫JavaScript腳本程序腳本程序時,一定要確保輸入正確,否那么不能到達編寫程序的目時,一定要確保輸入正確,否那么不能到達編寫程序的目的。的。第1章 Ja

28、vaScript入門 1.5.4 語言注釋語句語言注釋語句在在JavaScript腳本代碼中,可參加一些提示性的語句,腳本代碼中,可參加一些提示性的語句,以便提示代碼的用途及跟蹤程序執(zhí)行的流程,增加程序的以便提示代碼的用途及跟蹤程序執(zhí)行的流程,增加程序的可讀性,同時有利于代碼的后期維護。上述提示性語句稱可讀性,同時有利于代碼的后期維護。上述提示性語句稱作語言注釋語句。作語言注釋語句。JavaScript腳本解釋器并不執(zhí)行語言注釋腳本解釋器并不執(zhí)行語言注釋語句。語句。一般使用雙反斜杠一般使用雙反斜杠“/作為每行注釋語句的開頭,例作為每行注釋語句的開頭,例如:如:/ 程序注釋語句 值得注意的是,必

29、須在每行注釋語句前均加上雙反斜杠“/” 。例如: / 程序注釋語句 1 / 程序注釋語句 2 第1章 JavaScript入門 下面的語句為錯誤的注釋語句: / 程序注釋語句 1 程序注釋語句 2 上述語句中第二行不會被腳本解釋器作為注釋語句對待,而是作為普通的代碼對待,即將會被腳本解釋器解釋執(zhí)行。 對于多行的注釋語句,可以在注釋語句開頭加上“/*” ,末尾加上*/,不須在每行開頭加上雙反斜杠“/” 。例如: /* 程序注釋語句 1 程序注釋語句 2 程序注釋語句 3 */ 第1章 JavaScript入門 1.6 變變 量量1.6.1 變量標識符變量標識符與C+、Java等高級程序語言使用多

30、個變量標識符不同,JavaScript腳本語言使用關鍵字var作為其唯一的變量標識符,其用法為在關鍵字var后面加上變量名。例如:var width; var MyData; 第1章 JavaScript入門 1.6.2 變量聲明變量聲明在JavaScript腳本語言中,聲明變量的過程相當簡單,例如通過下面的代碼聲明名為age的變量:var age; JavaScript 腳本語言允許開發(fā)者不聲明變量,而在變量賦值時自動聲明該變量。一般來說,為培養(yǎng)良好的編程習慣,同時為了使程序結構更加清晰易懂,建議在使用變量前對變量進行聲明。 變量賦值和變量聲明可以同時進行,例如下面的代碼聲明名為 age 的

31、變量,同時給該變量賦初值 25: var age = 25; 第1章 JavaScript入門 并且, 可在一句 JavaScript 腳本代碼中同時聲明兩個以上的變量,例如: var age , name; 同時初始化兩個以上的變量也是允許的,例如: var age = 35 , name = tom; 在編寫 JavaScript 腳本代碼時, 養(yǎng)成良好的變量命名習慣相當重要。規(guī)范的變量命名,不僅有助于腳本代碼的輸入和閱讀,也有助于腳本編程錯誤的排除。一般情況下,應盡量使用單詞組合來描述變量的含義,并可在單詞間添加下劃線,或者第一個單詞首字母小寫而后續(xù)單詞首字母大寫。 第1章 JavaSc

32、ript入門 1.6.3 變量作用域變量作用域要討論變量的作用域,首先要清楚全局變量和局部變要討論變量的作用域,首先要清楚全局變量和局部變量的聯(lián)系和區(qū)別。量的聯(lián)系和區(qū)別。全局變量可以在腳本中的任何位置被調用,全局變量全局變量可以在腳本中的任何位置被調用,全局變量的作用域是當前文檔中整個腳本區(qū)域。的作用域是當前文檔中整個腳本區(qū)域。局部變量只能在此變量聲明語句所屬的函數(shù)內部使用,局部變量只能在此變量聲明語句所屬的函數(shù)內部使用,局部變量的作用域僅為該函數(shù)體。局部變量的作用域僅為該函數(shù)體。聲明變量時,要根據(jù)編程的目的決定將變量聲明為全聲明變量時,要根據(jù)編程的目的決定將變量聲明為全局變量還是局部變量。一

33、般而言,保存全局信息局變量還是局部變量。一般而言,保存全局信息(如表格的如表格的原始大小、下拉框包含選項對應的字符串數(shù)組等原始大小、下拉框包含選項對應的字符串數(shù)組等)的變量需的變量需聲明為全局變量,而保存臨時信息聲明為全局變量,而保存臨時信息(如待輸出的格式字符串、如待輸出的格式字符串、數(shù)學運算中間變量等數(shù)學運算中間變量等)的變量那么聲明為局部變量。的變量那么聲明為局部變量。第1章 JavaScript入門 1.7 弱弱 類類 型型JavaScript腳本語言像其他程序語言一樣,其變量都有數(shù)據(jù)類型,具體數(shù)據(jù)類型將在下一節(jié)中介紹。高級程序語言如C+、Java等為強類型語言,在變量聲明時必須顯式地

34、指定其數(shù)據(jù)類型;而JavaScript腳本語言是弱類型語言,在變量聲明時不需顯式地指定其數(shù)據(jù)類型,變量的數(shù)據(jù)類型將根據(jù)變量的具體內容推導出來,且根據(jù)變量內容的改變而自動更改。變量聲明時不需顯式指定其數(shù)據(jù)類型既是JavaScript腳本語言的優(yōu)點也是缺點,優(yōu)點是編寫腳本代碼時不需要指明數(shù)據(jù)類型,使變量聲明過程簡單明了,缺點是有可能因微妙的拼寫不當而引起致命的錯誤。參考如下代碼:第1章 JavaScript入門 /弱類型測試函數(shù) function Test() var msg=n 弱類型語言測試 : nn; msg+=600*5 = +(600*6)+n; msg+=600-5 = +(600-5

35、)+n; msg+=600/5 = +(600/5)+n; msg+=600+5 = +(600+5)+n; alert(msg); Test(); 第1章 JavaScript入門 程序運行后,在頁面彈出警告框如圖1-6所示。圖1-6第1章 JavaScript入門 由圖中前三個表達式運算結果可知,JavaScript腳本語言在解釋執(zhí)行時自動將字符型數(shù)據(jù)轉換為數(shù)值型數(shù)據(jù),而最后一個結果由于“+的特殊性導致運算結果不同,原因是將數(shù)值型數(shù)據(jù)轉換成了字符型數(shù)據(jù)。運算符“+有兩個作用:(1) 作為數(shù)學運算的加和運算符;(2) 作為字符型數(shù)據(jù)的連接符。由于“+作為后者使用時優(yōu)先級較高,故實例中表達式“

36、600+5的結果為字符串“6005,而不是整數(shù)605。第1章 JavaScript入門 1.8 根本數(shù)據(jù)類型根本數(shù)據(jù)類型1.8.1 Number型型Number型數(shù)據(jù)即為數(shù)值型數(shù)據(jù),包括型數(shù)據(jù)即為數(shù)值型數(shù)據(jù),包括整數(shù)型和浮點型。整數(shù)型數(shù)值可以使用十進整數(shù)型和浮點型。整數(shù)型數(shù)值可以使用十進制、八進制以及十六進制標識;浮點型數(shù)值制、八進制以及十六進制標識;浮點型數(shù)值為包含小數(shù)點的實數(shù),且可用科學計數(shù)法來為包含小數(shù)點的實數(shù),且可用科學計數(shù)法來表示。一般來說,表示。一般來說,Number型數(shù)據(jù)為不在括型數(shù)據(jù)為不在括號內的數(shù)字,例如:號內的數(shù)字,例如:var myDataA=8; var myDataB=6.3; 上述代碼分別定義值為整數(shù) 8 的 Number 型變量 myDataA和值為浮點數(shù) 6.3 的 Number 型變量 myDataB。 第1章 JavaScript入門 1.8.2 String型型String型數(shù)據(jù)表示字符型數(shù)據(jù)。型數(shù)據(jù)表示字符型數(shù)據(jù)。JavaScript不區(qū)分單個不區(qū)分單個字符和字符串,任何字符或字符串都可以用雙引號或單引字符和字符串,任何字符或字符串都可以用雙引號或單引號引起來。例如以下語句中定義的號引起來。例如以下語句中定義的String型變量型變量nameA和和nameB包含相同的內容:包含相同的內容:var nameA = T

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論