




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,主編 董寧 陳丹 中國(guó)水利水電出版社,第2章 JavaScript語(yǔ)法,2.1 JavaScript語(yǔ)法基礎(chǔ) 2.2 JavaScript數(shù)據(jù)類型 2.3 JavaScript運(yùn)算符 2.4 JavaScript語(yǔ)句 2.5 JavaScript函數(shù),2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,2,2.1 JavaScript語(yǔ)法基礎(chǔ),2.1.1 變量 2.1.2 關(guān)鍵字與保留字 2.1.3 原始值與引用值,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,3,2.1.1 變量,變量(vari
2、able)是相對(duì)于常量而言的,常量通常是一個(gè)不會(huì)改變的固定值,而變量是對(duì)應(yīng)到某個(gè)值的一個(gè)符號(hào),這個(gè)符號(hào)中的值可能會(huì)隨著程序的執(zhí)行而改變,因此稱為“變量”。 在 JavaScript腳本語(yǔ)言中,聲明變量的過(guò)程相當(dāng)簡(jiǎn)單,JavaScript 腳本語(yǔ)言使用關(guān)鍵字 var作為其唯一的變量標(biāo)識(shí)符,其用法為在關(guān)鍵字 var后面加上變量名,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,4,2.1.1 變量,JavaScript中的變量命名同其他語(yǔ)言非常相似,這里要注意以下幾點(diǎn): 第一個(gè)字符必須是字母(大小寫均可),下劃線(_)或者美元符號(hào)($); 后續(xù)的字符可以是字母、數(shù)字、下劃
3、線或者美元符號(hào); 變量名稱不能是關(guān)鍵字或保留字; 不允許出現(xiàn)中文變量名,且大小寫敏感,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,5,2.1.2 關(guān)鍵字與保留字,ECMA-262定義了JavaScript支持的一套關(guān)鍵字(keyword)。根據(jù)規(guī)定,關(guān)鍵字不能用作變量名或函數(shù)名,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,6,表2-1 JavaScript關(guān)鍵字,2.1.2 關(guān)鍵字與保留字,JavaScript還定義了一套保留字(reserved word)。保留字在某種意義上是為將來(lái)的關(guān)鍵字而保留的單詞。因此,保留字也不能被用作變量
4、名或函數(shù)名,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,7,表2-2 JavaScript保留字,2.1.3 原始值與引用值,在 JavaScript 中,變量可以存放兩種類型的值,即原始值和引用值。 原始值指的就是代表原始數(shù)據(jù)類型(基本數(shù)據(jù)類型)的值,即Undefined、Null、Number、String、Boolean類型所表示的值。 引用值指的就是復(fù)合數(shù)據(jù)類型的值,即Object、Function、Array、以及自定義對(duì)象,等等,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,8,2.2 JavaScript數(shù)據(jù)類型,2.2.
5、1 基礎(chǔ)數(shù)據(jù)類型 2.2.2 數(shù)據(jù)類型轉(zhuǎn)換 2.2.3 引用類型,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,9,2.2.1 基礎(chǔ)數(shù)據(jù)類型,變量包含多種類型,JavaScript 腳本語(yǔ)言支持的基本數(shù)據(jù)類型包括Number 型、String 型、Boolean 型、Undefined 型和Null 型,分別對(duì)應(yīng)于不同的存儲(chǔ)空間,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,10,表2-3 基本數(shù)據(jù)類型,2.2.2 數(shù)據(jù)類型轉(zhuǎn)換,JavaScript會(huì)自動(dòng)將某一個(gè)類型的數(shù)據(jù)轉(zhuǎn)換成另一個(gè)類型的數(shù)據(jù)。 JavaScript隱式類型轉(zhuǎn)換的規(guī)則是
6、:將類型轉(zhuǎn)換到環(huán)境中應(yīng)該使用的類型。 JavaScript中除了可以隱式轉(zhuǎn)換數(shù)據(jù)類型之外,還可以顯式轉(zhuǎn)換數(shù)據(jù)類型。顯式轉(zhuǎn)換數(shù)據(jù)類型可以增強(qiáng)代碼的可讀性。常用的類型轉(zhuǎn)換的方法有以下幾種,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,11,2.2.2 數(shù)據(jù)類型轉(zhuǎn)換,1轉(zhuǎn)換成字符串 JavaScript中三種主要的原始值布爾值、數(shù)字、字符串以及其它對(duì)象都有toString()方法,可以把它們的值轉(zhuǎn)換成字符串。 各種類型向字符串轉(zhuǎn)換的結(jié)果如下: undefined值:轉(zhuǎn)換成“undefined”; null值:轉(zhuǎn)換成“null”; 布爾值:值為true,轉(zhuǎn)換成“true”;
7、值為false,轉(zhuǎn)換成“false”; 數(shù)字型值:NaN或數(shù)字型變量的完整字符串; 其他對(duì)象:如果該對(duì)象的toString()方法存在,則返回toString方法的返回值,否則返回undefined,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,12,2.2.2 數(shù)據(jù)類型轉(zhuǎn)換,2轉(zhuǎn)換成數(shù)字 提取整數(shù)的parseInt()方法 parseInt()方法用于將字符串轉(zhuǎn)換為整數(shù),其格式為: parseInt(numString,radix) 提取浮點(diǎn)數(shù)的parseFloat()方法 parseFloat()方法用于字符串轉(zhuǎn)換為浮點(diǎn)數(shù),其格式為: parseFloat(nu
8、mString,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,13,2.2.2 數(shù)據(jù)類型轉(zhuǎn)換,3基本數(shù)據(jù)類型轉(zhuǎn)換 在JavaScript中可以使用如下3個(gè)函數(shù)來(lái)將數(shù)據(jù)轉(zhuǎn)換成數(shù)字型、布爾型和字符串型,下面看一下它的幾個(gè)強(qiáng)制轉(zhuǎn)換的函數(shù): Boolean(value):把值轉(zhuǎn)換成Boolean類型 Nnumber(value):把值轉(zhuǎn)換成數(shù)字(整型或浮點(diǎn)數(shù)) String(value):把值轉(zhuǎn)換成字符串,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,14,2.2.3 引用類型,1對(duì)象 JavaScript中的對(duì)象是一個(gè)屬性的集合,其中的每一個(gè)都
9、包含一個(gè)基本值。對(duì)象中的數(shù)據(jù)時(shí)已命名的數(shù)據(jù),通常作為對(duì)象的屬性來(lái)引用,這些屬性可以訪問(wèn)值。保存在屬性中的每個(gè)值都可以是一個(gè)值或另一個(gè)對(duì)象,甚至是一個(gè)函數(shù)。對(duì)象使用花括號(hào)創(chuàng)建,例如下面的代碼創(chuàng)建了一個(gè)名為myObject的空對(duì)象: var myObject = ; 這里有一個(gè)帶有幾個(gè)屬性的對(duì)象: var dvdCatalog = identifier: 1, name: Coho Vineyard,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,15,2.2.3 引用類型,2數(shù)組 數(shù)組和對(duì)象一樣,也是一些數(shù)據(jù)的集合,這些數(shù)據(jù)也可以是字符串類型、數(shù)字型、布爾型,或者是引用
10、型。例如下面的定義: var score = 56,34,23,76,45; 上述語(yǔ)句創(chuàng)建數(shù)組 score,中括號(hào)“”內(nèi)的成員為數(shù)組元素。由于 JavaScript 是弱類型語(yǔ)言,因此不要求目標(biāo)數(shù)組中各元素的數(shù)據(jù)類型均相同,例如: var score = 56,34, 23,76, 45,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,16,2.3 JavaScript運(yùn)算符,2.3.1 算術(shù)運(yùn)算符 2.3.2 邏輯運(yùn)算符 2.3.3 關(guān)系運(yùn)算符 2.3.4 位運(yùn)算符,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,17,2.3.1 算術(shù)運(yùn)算
11、符,算術(shù)運(yùn)算符是最簡(jiǎn)單、最常用的運(yùn)算符,可以使用它們進(jìn)行通用的數(shù)學(xué)計(jì)算,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,18,表2-5 算術(shù)運(yùn)算符,2.3.2 邏輯運(yùn)算符,邏輯運(yùn)算符通常用于執(zhí)行布爾運(yùn)算,JavaScript 腳本語(yǔ)言的邏輯運(yùn)算符包括 “,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,23,2.4.1 選擇語(yǔ)句,switchcase語(yǔ)句提供了ifelse語(yǔ)句的一個(gè)變通形式,可以從多個(gè)語(yǔ)句塊中選擇其中一個(gè)執(zhí)行。 其基本語(yǔ)法結(jié)構(gòu)如下: switch (a) case a1: statement 1; break; case a2
12、: statement 2; break; default: statement n;,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,24,2.4.1 選擇語(yǔ)句,在 JavaScript 腳本語(yǔ)言中,“?.:”運(yùn)算符用于創(chuàng)建條件分支。在動(dòng)作較為簡(jiǎn)單的情況下,較之 ifelse 語(yǔ)句更加簡(jiǎn)便,其語(yǔ)法結(jié)構(gòu)如下: (condition)?statementA:statementB; 載入上述語(yǔ)句后,首先判斷條件 condition,若結(jié)果為真則執(zhí)行語(yǔ)句 statementA,否則執(zhí)行語(yǔ)句 statementB,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)
13、用(第二版,25,2.4.2 循環(huán)語(yǔ)句,JavaScript中的循環(huán)語(yǔ)句包括while語(yǔ)句、dowhile語(yǔ)句、for語(yǔ)句和forin語(yǔ)句4種。 1while語(yǔ)句 while語(yǔ)句屬于基本循環(huán)語(yǔ)句,用于在指定條件為真時(shí)重復(fù)執(zhí)行一組語(yǔ)句。while語(yǔ)句的語(yǔ)法結(jié)構(gòu)如下: while(conditions) statements;,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,26,2.4.2 循環(huán)語(yǔ)句,2dowhile語(yǔ)句 dowhile語(yǔ)句類似于while語(yǔ)句,不同的是while語(yǔ)句是先判斷邏輯條件表達(dá)式的值是否為true之后再?zèng)Q定是否執(zhí)行循環(huán)體中的語(yǔ)句,而dowhil
14、e循環(huán)語(yǔ)句是先執(zhí)行循環(huán)體中的語(yǔ)句之后,再判斷邏輯條件表達(dá)式是否為true,如果為true則重復(fù)執(zhí)行循環(huán)體中的語(yǔ)句。dowhile語(yǔ)句的語(yǔ)法結(jié)構(gòu)如下: do statements; while(condition,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,27,2.4.2 循環(huán)語(yǔ)句,3for語(yǔ)句 for 循環(huán)語(yǔ)句也類似于while語(yǔ)句,使用起來(lái)更為方便。for語(yǔ)句按照指定的循環(huán)次數(shù),循環(huán)執(zhí)行循環(huán)體內(nèi)語(yǔ)句(或語(yǔ)句塊),它提供的是一種常用的循環(huán)模式,即初始化變量、判斷邏輯條件表達(dá)式和改變變量值。for語(yǔ)句的語(yǔ)法結(jié)構(gòu)如下: for(initialization; con
15、dition; loop-update) statements;,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,28,2.4.2 循環(huán)語(yǔ)句,4forin語(yǔ)句 使用 forin循環(huán)語(yǔ)句可以遍歷數(shù)組或者對(duì)指定對(duì)象的屬性和方法進(jìn)行遍歷,其語(yǔ)法結(jié)構(gòu)如下: for (變量名 in 對(duì)象名) statements;,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,29,2.4.3 跳轉(zhuǎn)語(yǔ)句,JavaScript跳轉(zhuǎn)語(yǔ)句分為break語(yǔ)句和continue語(yǔ)句。 1break語(yǔ)句 使用break語(yǔ)句可以無(wú)條件地從當(dāng)前執(zhí)行的循環(huán)結(jié)構(gòu)或者switch結(jié)構(gòu)的語(yǔ)
16、句塊中中斷并退出,其語(yǔ)法如下所示: break; 由于它是用來(lái)退出循環(huán)或者switch語(yǔ)句,所以只有當(dāng)它出現(xiàn)在這些語(yǔ)句時(shí),這種形式的break語(yǔ)句才是合法的,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,30,2.4.3 跳轉(zhuǎn)語(yǔ)句,2continue語(yǔ)句 continue語(yǔ)句的工作方式與break語(yǔ)句有點(diǎn)類似,但是其作用不同。continue語(yǔ)句是只跳出本次循環(huán)而立即進(jìn)入到下一次循環(huán);break語(yǔ)句則是跳出循環(huán)后結(jié)束整個(gè)循環(huán),2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,31,2.4.4 異常處理語(yǔ)句,JavaScript可以捕獲異常并進(jìn)
17、行相應(yīng)的處理, 通常用到的異常處理語(yǔ)句包括throw和try-catch-finally語(yǔ)句兩種。 1throw語(yǔ)句 throw(拋出)語(yǔ)句的作用是拋出一個(gè)異常。所謂的拋出異常,就是用新號(hào)通知發(fā)生了異常情況或錯(cuò)誤。throw語(yǔ)句的預(yù)防代碼如下所示: throw 表達(dá)式,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,32,2.4.4 異常處理語(yǔ)句,2try-catch-finally語(yǔ)句 try-catch-finally語(yǔ)句是JavaScript中的用于處理異常的語(yǔ)句,該語(yǔ)句與throw語(yǔ)句不同。throw語(yǔ)句只是拋出一個(gè)異常,但對(duì)該異常并不進(jìn)行處理,而try-ca
18、tch-finally語(yǔ)句可以處理所拋出的異常。其語(yǔ)法形式如下所示: try /語(yǔ)句塊1:要執(zhí)行的代碼 catch(e) /語(yǔ)句塊2:處理異常的代碼 finally /語(yǔ)句塊3:無(wú)論異常發(fā)生與否,都會(huì)執(zhí)行的代碼,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,33,2.5 JavaScript函數(shù),2.5.1 函數(shù)的創(chuàng)建與調(diào)用 2.5.2 函數(shù)的參數(shù) 2.5.3 函數(shù)的屬性與方法 2.5.4 閉包,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,34,2.5.1 函數(shù)的創(chuàng)建與調(diào)用,函數(shù)由函數(shù)定義和函數(shù)調(diào)用兩部分組成,應(yīng)首先定義函數(shù),然后再進(jìn)行
19、調(diào)用,以養(yǎng)成良好的編程習(xí)慣。 函數(shù)的定義應(yīng)使用關(guān)鍵字 function,其語(yǔ)法規(guī)則如下: function funcName (parameters) statements; return表達(dá)式; 函數(shù)定義過(guò)程結(jié)束后,可在文檔中任意位置調(diào)用該函數(shù)。引用目標(biāo)函數(shù)時(shí),只需在函數(shù)名后加上小括號(hào)即可。若目標(biāo)函數(shù)需引入?yún)?shù),則需在小括號(hào)內(nèi)添加傳遞參數(shù)。如果函數(shù)有返回值,可將最終結(jié)果賦值給一個(gè)自定義的變量并用關(guān)鍵字 return 返回,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,35,2.5.2 函數(shù)的參數(shù),在JavaScript中提供了一個(gè)arguments對(duì)象,該對(duì)象可以
20、獲取從JavaScript代碼中傳遞過(guò)來(lái)的參數(shù),并將這些參數(shù)存放在arguments數(shù)組中,因此也可以通過(guò)arguments對(duì)象來(lái)判斷傳遞過(guò)來(lái)的參數(shù)的個(gè)數(shù),引用屬性arguments.length即可。arguments為數(shù)組,因此通過(guò)argumentsi可以獲得實(shí)際傳遞的參數(shù)的值。 由于JavaScript是一種無(wú)類型的語(yǔ)言,因此在定義函數(shù)時(shí),不需要為函數(shù)的參數(shù)指定數(shù)據(jù)類型。事實(shí)上,JavaScript也不會(huì)去檢測(cè)傳遞過(guò)來(lái)的參數(shù)的類型是否符合函數(shù)的需要。如果一個(gè)函數(shù)對(duì)參數(shù)的要求很嚴(yán)格,那么可以在函數(shù)體內(nèi)使用typeof運(yùn)算符來(lái)檢測(cè)傳遞過(guò)來(lái)的參數(shù)是否符合要求,2021年1月8日星期五,JavaScript語(yǔ)言與Ajax應(yīng)用(第二版,36,2.5.3 函數(shù)的屬
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度汽車品牌授權(quán)銷售合同模板
- 2025廣東省廣晟控股集團(tuán)校園招聘2000人筆試參考題庫(kù)附帶答案詳解
- 交通工程學(xué)(視頻課)知到智慧樹章節(jié)測(cè)試課后答案2024年秋北京工業(yè)大學(xué)
- 2025年如東水務(wù)集團(tuán)所屬子公司公開(kāi)遴選工作人員及招聘勞務(wù)人員6人筆試參考題庫(kù)附帶答案詳解
- 2025年中儲(chǔ)糧儲(chǔ)運(yùn)有限公司社會(huì)招聘吉林省崗位筆試參考題庫(kù)附帶答案詳解
- 污水泵站施工組織設(shè)計(jì)
- 金融反洗錢知識(shí)培訓(xùn)課件
- 2024首都文化科技集團(tuán)有限公司人才招聘10人筆試參考題庫(kù)附帶答案詳解
- 2024福建福州市倉(cāng)山區(qū)國(guó)有投資發(fā)展集團(tuán)有限公司招聘3人筆試參考題庫(kù)附帶答案詳解
- 2025年上半年全國(guó)事業(yè)單位招考(107人)易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 大學(xué)二級(jí)學(xué)院突發(fā)事件應(yīng)急預(yù)案
- 動(dòng)物生產(chǎn)學(xué)(全套課件)
- 水利工程現(xiàn)場(chǎng)簽證單(范本)
- 部編版四年級(jí)下冊(cè)道德與法治 第4課 買東西的學(xué)問(wèn)(第2課時(shí)) 教學(xué)課件
- 慢性活動(dòng)性EB病毒課件
- 物料吊籠安全技術(shù)標(biāo)準(zhǔn)
- 業(yè)務(wù)招待費(fèi)明細(xì)單
- 鍋爐房風(fēng)險(xiǎn)管控措施告知牌
- 年產(chǎn)200噸L絲氨酸發(fā)酵和無(wú)菌空氣車間的工藝設(shè)計(jì)課程設(shè)計(jì)
- 家庭醫(yī)生工作室和家庭醫(yī)生服務(wù)點(diǎn)建設(shè)指南
- 國(guó)家開(kāi)放大學(xué)《建筑工程計(jì)量與計(jì)價(jià)》章節(jié)測(cè)試參考答案
評(píng)論
0/150
提交評(píng)論