版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章 JavaScript入門 基于任務(wù)驅(qū)動(dòng)模式的基于任務(wù)驅(qū)動(dòng)模式的JavaScriptJavaScript程程序設(shè)計(jì)案例第序設(shè)計(jì)案例第1 1章章 JavaScriptJavaScript入門入門第1章 JavaScript入門 第1章 JavaScript入門 第1章 JavaScript入門 第1章 JavaScript入門 第1章 JavaScript入門 第1章 JavaScript入門 解釋性語(yǔ)言:JavaScript是一種解釋性腳本語(yǔ)言,無(wú)需專門編譯器編譯,而是在嵌入JavaScript腳本的HTML文檔載入時(shí)被瀏覽器逐行地解釋,大量節(jié)省客戶端與效勞器端進(jìn)行數(shù)據(jù)交互的時(shí)間。實(shí)時(shí)性
2、:JavaScript事件處理是實(shí)時(shí)的,無(wú)須經(jīng)效勞器就可以直接對(duì)客戶端的事件做出響應(yīng),并用處理結(jié)果實(shí)時(shí)更新目標(biāo)頁(yè)面。動(dòng)態(tài)性:JavaScript提供簡(jiǎn)單高效的語(yǔ)言流程,能夠靈活處理對(duì)象的各種方法和屬性,同時(shí)及時(shí)響應(yīng)文檔頁(yè)面事件,實(shí)現(xiàn)頁(yè)面的交互性和動(dòng)態(tài)性。第1章 JavaScript入門 跨平臺(tái):JavaScript腳本的正確運(yùn)行依賴于瀏覽器,而與具體的操作系統(tǒng)無(wú)關(guān)。只要客戶端裝有支持JavaScript腳本的瀏覽器,JavaScript腳本運(yùn)行結(jié)果就能正確反映在客戶端瀏覽器平臺(tái)上。開發(fā)使用簡(jiǎn)單:JavaScript根本結(jié)構(gòu)類似于C語(yǔ)言,采用小程序段的方式編程,通過簡(jiǎn)易的開發(fā)平臺(tái)和便捷的開發(fā)流程
3、,就可以嵌入到HTML文檔中供瀏覽器解釋執(zhí)行。同時(shí)JavaScript的變量類型是弱類型,使用不嚴(yán)格。第1章 JavaScript入門 相對(duì)平安性:JavaScript是客戶端腳本,通過瀏覽器解釋執(zhí)行。它不允許訪問本地的硬盤,不能將數(shù)據(jù)存入到效勞器上,不允許對(duì)網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,只能通過瀏覽器實(shí)現(xiàn)信息瀏覽或動(dòng)態(tài)交互,從而能夠有效地防止數(shù)據(jù)喪失。綜上所述,JavaScript是一種有較強(qiáng)生命力和開展?jié)摿Φ哪_本描述語(yǔ)言,它可以直接嵌入到HTML文檔中,供瀏覽器解釋執(zhí)行,直接響應(yīng)客戶端事件如驗(yàn)證數(shù)據(jù)表單合法性,并調(diào)用相應(yīng)的處理方法,迅速返回處理結(jié)果并更新頁(yè)面,實(shí)現(xiàn)Web交互性和動(dòng)態(tài)性的要求,同時(shí)
4、將大局部的工作交給客戶端處理,將Web效勞器的資源消耗降到最低。第1章 JavaScript入門 1.2.3 JavaScript能做什么能做什么1. 表單數(shù)據(jù)合法性驗(yàn)證表單數(shù)據(jù)合法性驗(yàn)證使用使用JavaScript腳本語(yǔ)言能有效驗(yàn)證客戶端提交的表單腳本語(yǔ)言能有效驗(yàn)證客戶端提交的表單上數(shù)據(jù)的合法性,假設(shè)數(shù)據(jù)合法那么執(zhí)行下一步操作,否上數(shù)據(jù)的合法性,假設(shè)數(shù)據(jù)合法那么執(zhí)行下一步操作,否那么返回錯(cuò)誤提示信息,如圖那么返回錯(cuò)誤提示信息,如圖1-1所示。所示。第1章 JavaScript入門 圖1-1第1章 JavaScript入門 2. 網(wǎng)頁(yè)特效使用JavaScript腳本語(yǔ)言,結(jié)合DOM和CSS能創(chuàng)
5、立絢麗多彩的網(wǎng)頁(yè)特效,如火焰狀閃爍文字、文字環(huán)繞光標(biāo)旋轉(zhuǎn)、隨鼠標(biāo)滾動(dòng)的廣告圖片等。隨鼠標(biāo)滾動(dòng)的廣告圖片效果如圖1-2所示。第1章 JavaScript入門 圖1-2第1章 JavaScript入門 3. 交互式操作使用JavaScript腳本語(yǔ)言可以創(chuàng)立具有動(dòng)態(tài)效果的交互式菜單,完全可以與Falsh制作的頁(yè)面導(dǎo)航菜單相媲美。如圖1-3所示,鼠標(biāo)在文檔內(nèi)任何位置單擊,在其周圍出現(xiàn)如圖1-3所示的導(dǎo)航菜單。圖1-3第1章 JavaScript入門 1.3 JavaScript編程起步編程起步JavaScript腳本語(yǔ)言已經(jīng)成為腳本語(yǔ)言已經(jīng)成為Web應(yīng)用應(yīng)用程序開發(fā)的一門炙手可熱的語(yǔ)言,成為客戶程序
6、開發(fā)的一門炙手可熱的語(yǔ)言,成為客戶端腳本的首選。網(wǎng)絡(luò)上充滿著形態(tài)各異的能端腳本的首選。網(wǎng)絡(luò)上充滿著形態(tài)各異的能夠?qū)崿F(xiàn)不同功能的夠?qū)崿F(xiàn)不同功能的JavaScript腳本,但用戶腳本,但用戶也許并不了解也許并不了解JavaScript腳本是如何被瀏覽腳本是如何被瀏覽器解釋執(zhí)行的,更不知如何開始編寫自己的器解釋執(zhí)行的,更不知如何開始編寫自己的JavaScript腳本來(lái)實(shí)現(xiàn)自己想要的效果。現(xiàn)腳本來(lái)實(shí)現(xiàn)自己想要的效果。現(xiàn)在我們將一步步帶著大家踏入在我們將一步步帶著大家踏入JavaScript腳腳本語(yǔ)言編程的大門。本語(yǔ)言編程的大門。1.3.1 Hello World程序程序像學(xué)習(xí)像學(xué)習(xí)C、Java等語(yǔ)言一
7、樣,先來(lái)看看等語(yǔ)言一樣,先來(lái)看看使用使用JavaScript腳本語(yǔ)言編寫的腳本語(yǔ)言編寫的 “Hello World!程序:程序:第1章 JavaScript入門 Sample Page! document.write(Hello World!); 第1章 JavaScript入門 將上述代碼保存為.htm(或.html)文件并雙擊翻開,系統(tǒng)將調(diào)用默認(rèn)瀏覽器解釋執(zhí)行,結(jié)果如圖1-4所示。圖1-4第1章 JavaScript入門 JavaScript腳本語(yǔ)言編程一般分為如下步驟:(1) 選擇JavaScript語(yǔ)言編輯器編輯腳本代碼;(2) 嵌入該JavaScript腳本代碼到HTML文檔中;(3
8、) 選擇支持JavaScript的瀏覽器瀏覽該HTML文檔;(4) 如果錯(cuò)誤那么檢查并修正源代碼,重新瀏覽,重復(fù)此過程直至代碼正確為止;(5) 處理不支持JavaScript腳本語(yǔ)言的情況。由于JavaScript腳本代碼是嵌入到HTML文檔中被瀏覽器解釋執(zhí)行的,所以開發(fā)JavaScript腳本代碼并不需要特殊的編程環(huán)境,只需要普通的文本編輯器和支持JavaScript腳本語(yǔ)言的瀏覽器即可。那么如何選擇JavaScript腳本編輯器呢? 第1章 JavaScript入門 1.3.2 選擇選擇JavaScript腳本編輯器腳本編輯器編寫編寫JavaScript腳本代碼可以選擇普通的文本編輯器,腳
9、本代碼可以選擇普通的文本編輯器,如如Windows Notepad、UltraEdit等,只要所選編輯器能將所等,只要所選編輯器能將所編輯的代碼最終保存為編輯的代碼最終保存為HTML文檔類型文檔類型(.htm、.html等等)即可。即可。雖然雖然Dreamweaver、Microsoft FrontPage等專業(yè)網(wǎng)頁(yè)開等專業(yè)網(wǎng)頁(yè)開發(fā)工具套件內(nèi)部集成了發(fā)工具套件內(nèi)部集成了JavaScript腳本語(yǔ)言的開發(fā)環(huán)境,但腳本語(yǔ)言的開發(fā)環(huán)境,但我們依然建議我們依然建議JavaScript腳本程序開發(fā)者在起步階段使用最腳本程序開發(fā)者在起步階段使用最根本的文本編輯器,如根本的文本編輯器,如NotePad、Ul
10、traEdit等進(jìn)行開發(fā),以等進(jìn)行開發(fā),以便把注意力放在便把注意力放在JavaScript腳本語(yǔ)言而不是開發(fā)環(huán)境上。腳本語(yǔ)言而不是開發(fā)環(huán)境上。同時(shí),如果腳本代碼出現(xiàn)錯(cuò)誤,可用該編輯器翻開源同時(shí),如果腳本代碼出現(xiàn)錯(cuò)誤,可用該編輯器翻開源文件文件(.htm、.html或或.js)修改后保存,重新使用瀏覽器瀏覽,修改后保存,重新使用瀏覽器瀏覽,重復(fù)此過程直到?jīng)]有錯(cuò)誤出現(xiàn)為止。重復(fù)此過程直到?jīng)]有錯(cuò)誤出現(xiàn)為止。第1章 JavaScript入門 1.3.3 引入腳本代碼到引入腳本代碼到HTML文檔中文檔中將JavaScript腳本嵌入到HTML文檔中有3種標(biāo)準(zhǔn)方法:(1) 代碼包含于和標(biāo)記對(duì)中,然后嵌入到
11、HTML文檔中;(2) 通過標(biāo)記的src屬性鏈接外部的JavaScript腳本文件;(3) 通過JavaScript偽URL地址引入。下面分別介紹JavaScript腳本的幾種標(biāo)準(zhǔn)引入方法。第1章 JavaScript入門 1. 通過與標(biāo)記對(duì)引入在JavaScript腳本代碼中除了與標(biāo)記對(duì)之間的內(nèi)容外,都是最根本的HTML代碼,可見和標(biāo)記對(duì)將JavaScript腳本代碼封裝并嵌入到HTML文檔中。瀏覽器載入嵌有JavaScript腳本的HTML文檔時(shí),能自動(dòng)識(shí)別JavaScript腳本代碼起始標(biāo)記和結(jié)束標(biāo)記,并將其間的代碼按照解釋JavaScript腳本代碼的方法加以解釋,然后將解釋結(jié)果返回H
12、TML文檔并在瀏覽器窗口顯示。來(lái)看看下面的代碼:第1章 JavaScript入門 document.write(Hello World!); 首先和標(biāo)記對(duì)將 JavaScript 腳本代碼封裝,同時(shí)告訴瀏覽器其間的代碼為 JavaScript 腳本代碼,然后調(diào)用document 文檔對(duì)象的 write( )方法寫字符串到 HTML 文檔中。 第1章 JavaScript入門 下面重點(diǎn)介紹標(biāo)記的幾個(gè)屬性:(1) language屬性:用于指定封裝代碼的腳本語(yǔ)言及版本,有的瀏覽器還支持Perl、VBScript等,幾乎所有腳本瀏覽器都支持JavaScript(非常老的版本除外),同時(shí)languag
13、e屬性默認(rèn)值也為JavaScript。(2) type屬性:指定和標(biāo)記對(duì)之間插入的腳本代碼類型。(3) src屬性:用于將外部的腳本文件內(nèi)容嵌入到當(dāng)前文檔中,一般在較新版本的瀏覽器中使用。第1章 JavaScript入門 2. 通過通過標(biāo)記的標(biāo)記的src屬性引入屬性引入例如,改寫程序代碼并保存為test.html。 Sample Page! 第1章 JavaScript入門 同時(shí)在文本編輯器中編輯如下代碼并將其保存為1.js:將test.html和1.js文件放置于同一目錄,雙擊運(yùn)行test.html,結(jié)果如圖1-4所示??梢娡ㄟ^外部引入JavaScript腳本文件的方式,能實(shí)現(xiàn)同樣的功能。這
14、種方法具有如下優(yōu)點(diǎn):(1) 將腳本程序同現(xiàn)有頁(yè)面的邏輯結(jié)構(gòu)及瀏覽器結(jié)果別離。通過外部腳本,可以輕松實(shí)現(xiàn)多個(gè)頁(yè)面共同完成同一功能的腳本文件,以通過更新一個(gè)腳本文件內(nèi)容到達(dá)批量更新的目的;(2) 瀏覽器可以實(shí)現(xiàn)對(duì)目標(biāo)腳本文件的高速緩存,防止由于引用同樣功能的腳本代碼而導(dǎo)致的下載時(shí)間的增加。document.write(Hello World!); 第1章 JavaScript入門 3. 通過JavaScript偽URL引入在多數(shù)支持JavaScript腳本語(yǔ)言的瀏覽器中,可以通過JavaScript偽URL地址調(diào)用語(yǔ)句來(lái)引入JavaScript腳本代碼。偽URL地址的一般格式如下:一般以“java
15、script:開始,后面緊跟要執(zhí)行的操作。下面的代碼將演示如何使用偽URL地址引入JavaScript代碼:javascript:alert(Hello World!) Sample Page! 第1章 JavaScript入門 偽 URL 地址引入 JavaScript 腳本代碼實(shí)例: 第1章 JavaScript入門 鼠標(biāo)點(diǎn)擊文本框,彈出警示框如圖1-5所示。圖1-5第1章 JavaScript入門 1.3.4 嵌入腳本代碼的位置嵌入腳本代碼的位置JavaScript腳本代碼可放在腳本代碼可放在HTML文檔任何需要的位置。文檔任何需要的位置。一般來(lái)說(shuō),可以在一般來(lái)說(shuō),可以在與與標(biāo)記對(duì)之間、
16、標(biāo)記對(duì)之間、與與標(biāo)記對(duì)之間按需要放置。標(biāo)記對(duì)之間按需要放置。1. 與與標(biāo)記對(duì)之間放置標(biāo)記對(duì)之間放置放置在放置在與與標(biāo)記對(duì)之間的標(biāo)記對(duì)之間的JavaScript腳本腳本代碼一般用于提前載入以響應(yīng)用戶的動(dòng)作,一般不影響代碼一般用于提前載入以響應(yīng)用戶的動(dòng)作,一般不影響HTML文檔的瀏覽器顯示內(nèi)容。其根本文檔結(jié)構(gòu)如下:文檔的瀏覽器顯示內(nèi)容。其根本文檔結(jié)構(gòu)如下:第1章 JavaScript入門 文檔標(biāo)題 /腳本語(yǔ)句 第1章 JavaScript入門 2. 與標(biāo)記對(duì)之間放置如果需要在頁(yè)面載入時(shí)運(yùn)行JavaScript腳本生成網(wǎng)頁(yè)內(nèi)容,應(yīng)將腳本代碼放置在與標(biāo)記對(duì)之間,可根據(jù)需要編寫多個(gè)獨(dú)立的腳本代碼段與HT
17、ML代碼結(jié)合在一起。其根本文檔結(jié)構(gòu)如下: 文檔標(biāo)題 第1章 JavaScript入門 /腳本語(yǔ)句 /HTML語(yǔ)句 /腳本語(yǔ)句 第1章 JavaScript入門 1.4 JavaScript實(shí)現(xiàn)根底實(shí)現(xiàn)根底1.4.1 ECMAScript ECMAScript規(guī)定了能適應(yīng)于各種宿主規(guī)定了能適應(yīng)于各種宿主環(huán)境的腳本核心語(yǔ)法規(guī)那么。關(guān)于環(huán)境的腳本核心語(yǔ)法規(guī)那么。關(guān)于ECMAScript語(yǔ)言,語(yǔ)言,ECMA-262標(biāo)準(zhǔn)描述如標(biāo)準(zhǔn)描述如下:下: “ECMAScript可以為不同種類的宿主環(huán)境可以為不同種類的宿主環(huán)境提供核心的腳本編程能力,提供核心的腳本編程能力,因此核心的腳本因此核心的腳本語(yǔ)言是與任何特
18、定的宿主環(huán)境分開進(jìn)行規(guī)定語(yǔ)言是與任何特定的宿主環(huán)境分開進(jìn)行規(guī)定的的ECMAScript并不附屬于任何瀏覽器,并不附屬于任何瀏覽器,Web瀏覽器只是其能適應(yīng)的宿主環(huán)境中的一瀏覽器只是其能適應(yīng)的宿主環(huán)境中的一種,在其開展史上還有很多宿主環(huán)境,種,在其開展史上還有很多宿主環(huán)境,如如Microsoft的的WSH、Micromedia的的ActionScript、Nombas的的ScriptBase和和Yahool!的的Widget引擎等都可以容納引擎等都可以容納ECMAScript實(shí)現(xiàn)。實(shí)現(xiàn)。第1章 JavaScript入門 ECMAScript僅僅是個(gè)描述,定義了腳本語(yǔ)言所有的對(duì)象、屬性和方法,其主
19、要描述的內(nèi)容有:語(yǔ)法、數(shù)據(jù)類型、關(guān)鍵字、保存字、運(yùn)算符、對(duì)象、語(yǔ)句。支持ECMA標(biāo)準(zhǔn)的瀏覽器都提供自己的ECMAScript腳本語(yǔ)言接口,并按照需要擴(kuò)展其內(nèi)容,如對(duì)象、屬性和方法等。ECMAScript標(biāo)準(zhǔn)定義了JavaScript腳本中最為核心的內(nèi)容,是JavaScript腳本的骨架,有了骨架,就可以在其上進(jìn)行擴(kuò)展,典型的擴(kuò)展如DOM(文檔對(duì)象模型)和BOM(瀏覽器對(duì)象模型)等。第1章 JavaScript入門 1.4.2 DOM DOM定義了定義了JavaScript可以進(jìn)行操作的文檔各個(gè)功能可以進(jìn)行操作的文檔各個(gè)功能部件的接口,提供訪問文檔各個(gè)功能部件部件的接口,提供訪問文檔各個(gè)功能部件
20、(如如Document、Form、Textarea等等)的途徑以及操作方法。的途徑以及操作方法。在瀏覽器載入文檔在瀏覽器載入文檔(HTML或或XML)時(shí),根據(jù)其支持的時(shí),根據(jù)其支持的DOM標(biāo)準(zhǔn)級(jí)別將整個(gè)文檔規(guī)劃成由節(jié)點(diǎn)層級(jí)構(gòu)成的節(jié)點(diǎn)樹,標(biāo)準(zhǔn)級(jí)別將整個(gè)文檔規(guī)劃成由節(jié)點(diǎn)層級(jí)構(gòu)成的節(jié)點(diǎn)樹,文檔中每個(gè)局部都是一個(gè)節(jié)點(diǎn),然后依據(jù)節(jié)點(diǎn)樹層級(jí)同時(shí)文檔中每個(gè)局部都是一個(gè)節(jié)點(diǎn),然后依據(jù)節(jié)點(diǎn)樹層級(jí)同時(shí)根據(jù)目標(biāo)節(jié)點(diǎn)的某個(gè)屬性搜索到目標(biāo)節(jié)點(diǎn)后,調(diào)用節(jié)點(diǎn)的根據(jù)目標(biāo)節(jié)點(diǎn)的某個(gè)屬性搜索到目標(biāo)節(jié)點(diǎn)后,調(diào)用節(jié)點(diǎn)的相關(guān)處理方法進(jìn)行處理,完成定位到處理的整個(gè)過程。相關(guān)處理方法進(jìn)行處理,完成定位到處理的整個(gè)過程。第1章 JavaSc
21、ript入門 1.4.3 BOM BOM定義了定義了JavaScript可以進(jìn)行操作的瀏覽器各個(gè)功可以進(jìn)行操作的瀏覽器各個(gè)功能部件的接口,提供訪問文檔各個(gè)功能部件能部件的接口,提供訪問文檔各個(gè)功能部件(如窗口本身、如窗口本身、屏幕功能部件、瀏覽歷史記錄等屏幕功能部件、瀏覽歷史記錄等)的途徑以及操作方法。遺的途徑以及操作方法。遺憾的是,憾的是,BOM只是只是JavaScript腳本實(shí)現(xiàn)的一局部,沒有任腳本實(shí)現(xiàn)的一局部,沒有任何相關(guān)的標(biāo)準(zhǔn),每種瀏覽器都有自己的何相關(guān)的標(biāo)準(zhǔn),每種瀏覽器都有自己的BOM實(shí)現(xiàn),這一點(diǎn)實(shí)現(xiàn),這一點(diǎn)可以說(shuō)是可以說(shuō)是BOM的軟肋。的軟肋。第1章 JavaScript入門 通常
22、情況下瀏覽器特定的JavaScript擴(kuò)展都被看作是BOM的一局部,主要包括: 關(guān)閉、移動(dòng)瀏覽器及調(diào)整瀏覽器窗口大小; 彈出新的瀏覽器窗口; 提供瀏覽器詳細(xì)信息的定位對(duì)象; 提供載入到瀏覽器窗口的文檔詳細(xì)信息的定位對(duì)象; 提供用戶屏幕分辨率詳細(xì)信息的屏幕對(duì)象; 提供對(duì)Cookie的支持; 參加ActiveXObject類擴(kuò)展BOM,通過JavaScript實(shí)例化ActiveX對(duì)象。第1章 JavaScript入門 BOM有一些事實(shí)上的標(biāo)準(zhǔn),如窗口對(duì)象、導(dǎo)航對(duì)象等,但每種瀏覽器都為這些對(duì)象定義或擴(kuò)展了屬性及方法。第1章 JavaScript入門 1.5 編編 程程 準(zhǔn)準(zhǔn) 備備1.5.1 Java
23、Script與與JavaJavaScript和和Java雖然名字都帶有雖然名字都帶有Java,但它們是兩種不同的語(yǔ)言,可以說(shuō)是兩種互但它們是兩種不同的語(yǔ)言,可以說(shuō)是兩種互不相干的語(yǔ)言:前者是一種基于對(duì)象的腳本不相干的語(yǔ)言:前者是一種基于對(duì)象的腳本語(yǔ)言,可以嵌在網(wǎng)頁(yè)代碼里實(shí)現(xiàn)交互及控制語(yǔ)言,可以嵌在網(wǎng)頁(yè)代碼里實(shí)現(xiàn)交互及控制功能,而后者是一種面向?qū)ο蟮木幊陶Z(yǔ)言,功能,而后者是一種面向?qū)ο蟮木幊陶Z(yǔ)言,可用在桌面應(yīng)用程序、可用在桌面應(yīng)用程序、Internet效勞器、中效勞器、中間件、嵌入式設(shè)備以及其他環(huán)境中。其主要間件、嵌入式設(shè)備以及其他環(huán)境中。其主要區(qū)別如下:區(qū)別如下:第1章 JavaScript入
24、門 開發(fā)公司不同:JavaScript是Netscape公司的產(chǎn)品,是為了擴(kuò)展Netscape Navigator功能而開發(fā)的一種可以嵌入Web頁(yè)面中的基于對(duì)象和事件驅(qū)動(dòng)的解釋性語(yǔ)言;Java是Sun公司推出的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,特別適合于Internet應(yīng)用程序開發(fā)。語(yǔ)言類型不同:JavaScript是基于對(duì)象和事件驅(qū)動(dòng)的腳本編程語(yǔ)言,本身提供了非常豐富的內(nèi)部對(duì)象供設(shè)計(jì)人員使用;Java是面向?qū)ο蟮木幊陶Z(yǔ)言,即使是開發(fā)簡(jiǎn)單的程序,也必須設(shè)計(jì)對(duì)象。第1章 JavaScript入門 執(zhí)行方式不同:JavaScript是一種解釋性編程語(yǔ)言,其源代碼在發(fā)往客戶端執(zhí)行之前不需要經(jīng)過編譯,而是將文本
25、格式的字符代碼發(fā)送給客戶端,由瀏覽器解釋執(zhí)行;Java的源代碼在傳遞到客戶端執(zhí)行之前,必須經(jīng)過編譯,因而客戶端上必須具有相應(yīng)平臺(tái)上的仿真器或解釋器。變量類型不同:JavaScript采用弱類型變量,即變量在使用前不需作特別聲明,而是在瀏覽器解釋運(yùn)行該代碼時(shí)才檢查其數(shù)據(jù)類型;Java采用強(qiáng)類型變量,即所有變量在通過編譯器編譯之前必須作專門聲明,否那么將會(huì)報(bào)錯(cuò)。第1章 JavaScript入門 聯(lián)編方式不同:JavaScript采用動(dòng)態(tài)聯(lián)編,即其對(duì)象引用在瀏覽器解釋運(yùn)行時(shí)進(jìn)行檢查,假設(shè)不經(jīng)編譯就無(wú)法實(shí)現(xiàn)對(duì)象引用的檢查;Java采用靜態(tài)聯(lián)編,即Java的對(duì)象引用必須在編譯時(shí)進(jìn)行,以使編譯器能夠?qū)崿F(xiàn)強(qiáng)
26、類型檢查。經(jīng)過以上幾個(gè)方面的比較,應(yīng)該能清楚地認(rèn)識(shí)到JavaScript和Java是沒有任何聯(lián)系的兩門語(yǔ)言。第1章 JavaScript入門 1.5.2 腳本執(zhí)行順序腳本執(zhí)行順序JavaScript腳本解釋器將按照程序代碼出現(xiàn)的順序來(lái)解腳本解釋器將按照程序代碼出現(xiàn)的順序來(lái)解釋程序語(yǔ)句,因此可以將函數(shù)定義和變量聲明放在釋程序語(yǔ)句,因此可以將函數(shù)定義和變量聲明放在和和之間,這樣與函數(shù)體相關(guān)的操作就不會(huì)被立即執(zhí)之間,這樣與函數(shù)體相關(guān)的操作就不會(huì)被立即執(zhí)行。行。1.5.3 大小寫敏感大小寫敏感JavaScript腳本程序?qū)Υ笮懨舾?,相同的字母,大小腳本程序?qū)Υ笮懨舾?,相同的字母,大小寫不同,代表?/p>
27、意義也不同,如變量名寫不同,代表的意義也不同,如變量名name、Name和和NAME代表三個(gè)不同的變量名。在代表三個(gè)不同的變量名。在JavaScript腳本程序中,腳本程序中,變量名、函數(shù)名、運(yùn)算符、關(guān)鍵字、對(duì)象屬性等都是對(duì)大變量名、函數(shù)名、運(yùn)算符、關(guān)鍵字、對(duì)象屬性等都是對(duì)大小寫敏感的。因此,所有的關(guān)鍵字、內(nèi)建函數(shù)以及對(duì)象屬小寫敏感的。因此,所有的關(guān)鍵字、內(nèi)建函數(shù)以及對(duì)象屬性等的大小寫都是固定的,所以在編寫性等的大小寫都是固定的,所以在編寫JavaScript腳本程序腳本程序時(shí),一定要確保輸入正確,否那么不能到達(dá)編寫程序的目時(shí),一定要確保輸入正確,否那么不能到達(dá)編寫程序的目的。的。第1章 Ja
28、vaScript入門 1.5.4 語(yǔ)言注釋語(yǔ)句語(yǔ)言注釋語(yǔ)句在在JavaScript腳本代碼中,可參加一些提示性的語(yǔ)句,腳本代碼中,可參加一些提示性的語(yǔ)句,以便提示代碼的用途及跟蹤程序執(zhí)行的流程,增加程序的以便提示代碼的用途及跟蹤程序執(zhí)行的流程,增加程序的可讀性,同時(shí)有利于代碼的后期維護(hù)。上述提示性語(yǔ)句稱可讀性,同時(shí)有利于代碼的后期維護(hù)。上述提示性語(yǔ)句稱作語(yǔ)言注釋語(yǔ)句。作語(yǔ)言注釋語(yǔ)句。JavaScript腳本解釋器并不執(zhí)行語(yǔ)言注釋腳本解釋器并不執(zhí)行語(yǔ)言注釋語(yǔ)句。語(yǔ)句。一般使用雙反斜杠一般使用雙反斜杠“/作為每行注釋語(yǔ)句的開頭,例作為每行注釋語(yǔ)句的開頭,例如:如:/ 程序注釋語(yǔ)句 值得注意的是,必
29、須在每行注釋語(yǔ)句前均加上雙反斜杠“/” 。例如: / 程序注釋語(yǔ)句 1 / 程序注釋語(yǔ)句 2 第1章 JavaScript入門 下面的語(yǔ)句為錯(cuò)誤的注釋語(yǔ)句: / 程序注釋語(yǔ)句 1 程序注釋語(yǔ)句 2 上述語(yǔ)句中第二行不會(huì)被腳本解釋器作為注釋語(yǔ)句對(duì)待,而是作為普通的代碼對(duì)待,即將會(huì)被腳本解釋器解釋執(zhí)行。 對(duì)于多行的注釋語(yǔ)句,可以在注釋語(yǔ)句開頭加上“/*” ,末尾加上*/,不須在每行開頭加上雙反斜杠“/” 。例如: /* 程序注釋語(yǔ)句 1 程序注釋語(yǔ)句 2 程序注釋語(yǔ)句 3 */ 第1章 JavaScript入門 1.6 變變 量量1.6.1 變量標(biāo)識(shí)符變量標(biāo)識(shí)符與C+、Java等高級(jí)程序語(yǔ)言使用多
30、個(gè)變量標(biāo)識(shí)符不同,JavaScript腳本語(yǔ)言使用關(guān)鍵字var作為其唯一的變量標(biāo)識(shí)符,其用法為在關(guān)鍵字var后面加上變量名。例如:var width; var MyData; 第1章 JavaScript入門 1.6.2 變量聲明變量聲明在JavaScript腳本語(yǔ)言中,聲明變量的過程相當(dāng)簡(jiǎn)單,例如通過下面的代碼聲明名為age的變量:var age; JavaScript 腳本語(yǔ)言允許開發(fā)者不聲明變量,而在變量賦值時(shí)自動(dòng)聲明該變量。一般來(lái)說(shuō),為培養(yǎng)良好的編程習(xí)慣,同時(shí)為了使程序結(jié)構(gòu)更加清晰易懂,建議在使用變量前對(duì)變量進(jìn)行聲明。 變量賦值和變量聲明可以同時(shí)進(jìn)行,例如下面的代碼聲明名為 age 的
31、變量,同時(shí)給該變量賦初值 25: var age = 25; 第1章 JavaScript入門 并且, 可在一句 JavaScript 腳本代碼中同時(shí)聲明兩個(gè)以上的變量,例如: var age , name; 同時(shí)初始化兩個(gè)以上的變量也是允許的,例如: var age = 35 , name = tom; 在編寫 JavaScript 腳本代碼時(shí), 養(yǎng)成良好的變量命名習(xí)慣相當(dāng)重要。規(guī)范的變量命名,不僅有助于腳本代碼的輸入和閱讀,也有助于腳本編程錯(cuò)誤的排除。一般情況下,應(yīng)盡量使用單詞組合來(lái)描述變量的含義,并可在單詞間添加下劃線,或者第一個(gè)單詞首字母小寫而后續(xù)單詞首字母大寫。 第1章 JavaSc
32、ript入門 1.6.3 變量作用域變量作用域要討論變量的作用域,首先要清楚全局變量和局部變要討論變量的作用域,首先要清楚全局變量和局部變量的聯(lián)系和區(qū)別。量的聯(lián)系和區(qū)別。全局變量可以在腳本中的任何位置被調(diào)用,全局變量全局變量可以在腳本中的任何位置被調(diào)用,全局變量的作用域是當(dāng)前文檔中整個(gè)腳本區(qū)域。的作用域是當(dāng)前文檔中整個(gè)腳本區(qū)域。局部變量只能在此變量聲明語(yǔ)句所屬的函數(shù)內(nèi)部使用,局部變量只能在此變量聲明語(yǔ)句所屬的函數(shù)內(nèi)部使用,局部變量的作用域僅為該函數(shù)體。局部變量的作用域僅為該函數(shù)體。聲明變量時(shí),要根據(jù)編程的目的決定將變量聲明為全聲明變量時(shí),要根據(jù)編程的目的決定將變量聲明為全局變量還是局部變量。一
33、般而言,保存全局信息局變量還是局部變量。一般而言,保存全局信息(如表格的如表格的原始大小、下拉框包含選項(xiàng)對(duì)應(yīng)的字符串?dāng)?shù)組等原始大小、下拉框包含選項(xiàng)對(duì)應(yīng)的字符串?dāng)?shù)組等)的變量需的變量需聲明為全局變量,而保存臨時(shí)信息聲明為全局變量,而保存臨時(shí)信息(如待輸出的格式字符串、如待輸出的格式字符串、數(shù)學(xué)運(yùn)算中間變量等數(shù)學(xué)運(yùn)算中間變量等)的變量那么聲明為局部變量。的變量那么聲明為局部變量。第1章 JavaScript入門 1.7 弱弱 類類 型型JavaScript腳本語(yǔ)言像其他程序語(yǔ)言一樣,其變量都有數(shù)據(jù)類型,具體數(shù)據(jù)類型將在下一節(jié)中介紹。高級(jí)程序語(yǔ)言如C+、Java等為強(qiáng)類型語(yǔ)言,在變量聲明時(shí)必須顯式地
34、指定其數(shù)據(jù)類型;而JavaScript腳本語(yǔ)言是弱類型語(yǔ)言,在變量聲明時(shí)不需顯式地指定其數(shù)據(jù)類型,變量的數(shù)據(jù)類型將根據(jù)變量的具體內(nèi)容推導(dǎo)出來(lái),且根據(jù)變量?jī)?nèi)容的改變而自動(dòng)更改。變量聲明時(shí)不需顯式指定其數(shù)據(jù)類型既是JavaScript腳本語(yǔ)言的優(yōu)點(diǎn)也是缺點(diǎn),優(yōu)點(diǎn)是編寫腳本代碼時(shí)不需要指明數(shù)據(jù)類型,使變量聲明過程簡(jiǎn)單明了,缺點(diǎn)是有可能因微妙的拼寫不當(dāng)而引起致命的錯(cuò)誤。參考如下代碼:第1章 JavaScript入門 /弱類型測(cè)試函數(shù) function Test() var msg=n 弱類型語(yǔ)言測(cè)試 : 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入門 程序運(yùn)行后,在頁(yè)面彈出警告框如圖1-6所示。圖1-6第1章 JavaScript入門 由圖中前三個(gè)表達(dá)式運(yùn)算結(jié)果可知,JavaScript腳本語(yǔ)言在解釋執(zhí)行時(shí)自動(dòng)將字符型數(shù)據(jù)轉(zhuǎn)換為數(shù)值型數(shù)據(jù),而最后一個(gè)結(jié)果由于“+的特殊性導(dǎo)致運(yùn)算結(jié)果不同,原因是將數(shù)值型數(shù)據(jù)轉(zhuǎn)換成了字符型數(shù)據(jù)。運(yùn)算符“+有兩個(gè)作用:(1) 作為數(shù)學(xué)運(yùn)算的加和運(yùn)算符;(2) 作為字符型數(shù)據(jù)的連接符。由于“+作為后者使用時(shí)優(yōu)先級(jí)較高,故實(shí)例中表達(dá)式“
36、600+5的結(jié)果為字符串“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ù)型和浮點(diǎn)型。整數(shù)型數(shù)值可以使用十進(jìn)整數(shù)型和浮點(diǎn)型。整數(shù)型數(shù)值可以使用十進(jìn)制、八進(jìn)制以及十六進(jìn)制標(biāo)識(shí);浮點(diǎn)型數(shù)值制、八進(jìn)制以及十六進(jìn)制標(biāo)識(shí);浮點(diǎn)型數(shù)值為包含小數(shù)點(diǎn)的實(shí)數(shù),且可用科學(xué)計(jì)數(shù)法來(lái)為包含小數(shù)點(diǎn)的實(shí)數(shù),且可用科學(xué)計(jì)數(shù)法來(lái)表示。一般來(lái)說(shuō),表示。一般來(lái)說(shuō),Number型數(shù)據(jù)為不在括型數(shù)據(jù)為不在括號(hào)內(nèi)的數(shù)字,例如:號(hào)內(nèi)的數(shù)字,例如:var myDataA=8; var myDataB=6.3; 上述代碼分別定義值為整數(shù) 8 的 Number 型變量 myDataA和值為浮點(diǎn)數(shù) 6.3 的 Number 型變量 myDataB。 第1章 JavaScript入門 1.8.2 String型型String型數(shù)據(jù)表示字符型數(shù)據(jù)。型數(shù)據(jù)表示字符型數(shù)據(jù)。JavaScript不區(qū)分單個(gè)不區(qū)分單個(gè)字符和字符串,任何字符或字符串都可以用雙引號(hào)或單引字符和字符串,任何字符或字符串都可以用雙引號(hào)或單引號(hào)引起來(lái)。例如以下語(yǔ)句中定義的號(hào)引起來(lái)。例如以下語(yǔ)句中定義的String型變量型變量nameA和和nameB包含相同的內(nèi)容:包含相同的內(nèi)容:var nameA = T
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度公司投標(biāo)項(xiàng)目進(jìn)度調(diào)整與協(xié)調(diào)合同
- 2025年度智能停車場(chǎng)監(jiān)控系統(tǒng)工程安裝合同
- 2025年標(biāo)貼項(xiàng)目可行性研究報(bào)告
- 2025年度家庭裝修室內(nèi)裝修垃圾清運(yùn)與處理合同
- 2025年國(guó)際貨物進(jìn)出口代理業(yè)務(wù)合同
- 市政管網(wǎng)修復(fù)的環(huán)境影響評(píng)估
- 2025年度文化創(chuàng)意產(chǎn)業(yè)股權(quán)投資及文化產(chǎn)業(yè)發(fā)展基金合作協(xié)議
- 2025年度裝配式建筑灌注樁施工技術(shù)合同
- 2025年中國(guó)心腦血管藥品行業(yè)市場(chǎng)深度分析及投資潛力預(yù)測(cè)報(bào)告
- 2025年度新型公路排水溝施工技術(shù)服務(wù)合同樣本
- 天津在津居住情況承諾書
- PHOTOSHOP教案 學(xué)習(xí)資料
- 初中數(shù)學(xué)教學(xué)“教-學(xué)-評(píng)”一體化研究
- 2012年安徽高考理綜試卷及答案-文檔
- 《游戲界面設(shè)計(jì)專題實(shí)踐》課件-知識(shí)點(diǎn)5:圖標(biāo)繪制準(zhǔn)備與繪制步驟
- 自動(dòng)扶梯安裝過程記錄
- 智慧供熱管理系統(tǒng)方案可行性研究報(bào)告
- 帕金森病的言語(yǔ)康復(fù)治療
- 中國(guó)城市居民的健康意識(shí)和生活方式調(diào)研分析報(bào)告
- 上海星巴克員工手冊(cè)
- 統(tǒng)編版小學(xué)語(yǔ)文五年級(jí)下冊(cè)第四單元解讀與大單元設(shè)計(jì)思路
評(píng)論
0/150
提交評(píng)論