JavaScript語言與Ajax應(yīng)用第02章-JavaScript語法課件_第1頁
JavaScript語言與Ajax應(yīng)用第02章-JavaScript語法課件_第2頁
JavaScript語言與Ajax應(yīng)用第02章-JavaScript語法課件_第3頁
JavaScript語言與Ajax應(yīng)用第02章-JavaScript語法課件_第4頁
JavaScript語言與Ajax應(yīng)用第02章-JavaScript語法課件_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

JavaScript語言與Ajax)主編董寧陳丹中國水利水電出版社第2章

JavaScript語法

2.1JavaScript語法基礎(chǔ)2.2JavaScript數(shù)據(jù)類型2.3JavaScript運(yùn)算符2.4JavaScript語句2.5JavaScript函數(shù)2023/7/2322.1JavaScript語法基礎(chǔ)2.1.1變量2.1.2關(guān)鍵字與保留字2.1.3原始值與引用值2023/7/2332.1.1變量變量(variable)是相對于常量而言的,常量通常是一個(gè)不會(huì)改變的固定值,而變量是對應(yīng)到某個(gè)值的一個(gè)符號,這個(gè)符號中的值可能會(huì)隨著程序的執(zhí)行而改變,因此稱為“變量”。在JavaScript腳本語言中,聲明變量的過程相當(dāng)簡單,JavaScript腳本語言使用關(guān)鍵字var作為其唯一的變量標(biāo)識符,其用法為在關(guān)鍵字var后面加上變量名。2023/7/2342.1.1變量JavaScript中的變量命名同其他語言非常相似,這里要注意以下幾點(diǎn):①第一個(gè)字符必須是字母(大小寫均可),下劃線(_)或者美元符號($);②后續(xù)的字符可以是字母、數(shù)字、下劃線或者美元符號;③變量名稱不能是關(guān)鍵字或保留字;④不允許出現(xiàn)中文變量名,且大小寫敏感。2023/7/2352.1.2關(guān)鍵字與保留字ECMA-262定義了JavaScript支持的一套關(guān)鍵字(keyword)。根據(jù)規(guī)定,關(guān)鍵字不能用作變量名或函數(shù)名。表2-1JavaScript關(guān)鍵字breakcasecatchcontinuedefaultdeletedoelsefinallyforfunctionifininstanceofnewreturnswitchthisthrowtrytypeofvarvoidwhilewith2023/7/2362.1.2關(guān)鍵字與保留字JavaScript還定義了一套保留字(reservedword)。保留字在某種意義上是為將來的關(guān)鍵字而保留的單詞。因此,保留字也不能被用作變量名或函數(shù)名。表2-2JavaScript保留字abstractbooleanbytecharclassconstdebuggerdoubleenumexportextendsfinalfloatgotoimplementsimportintinterfacelongnativepackageprivateprotectedpublicshortstaticsupersynchronizedthrowstransientvolatile2023/7/2372.1.3原始值與引用值在JavaScript中,變量可以存放兩種類型的值,即原始值和引用值。原始值指的就是代表原始數(shù)據(jù)類型(基本數(shù)據(jù)類型)的值,即Undefined、Null、Number、String、Boolean類型所表示的值。引用值指的就是復(fù)合數(shù)據(jù)類型的值,即Object、Function、Array、以及自定義對象,等等。2023/7/2382.2JavaScript數(shù)據(jù)類型2.2.1基礎(chǔ)數(shù)據(jù)類型2.2.2數(shù)據(jù)類型轉(zhuǎn)換2.2.3引用類型2023/7/2392.2.1基礎(chǔ)數(shù)據(jù)類型變量包含多種類型,JavaScript腳本語言支持的基本數(shù)據(jù)類型包括Number型、String型、Boolean型、Undefined型和Null型,分別對應(yīng)于不同的存儲空間。表2-3基本數(shù)據(jù)類型類型

舉例簡要說明Number45,-34,32.13,3.7E-2數(shù)值型數(shù)據(jù)String"name",'Tom'字符型數(shù)據(jù),需加雙引號或單引號Booleantrue,flase布爾型數(shù)據(jù),不加引號,表示邏輯真或假Undefined表示未定義Nullnull表示空值2023/7/23102.2.2數(shù)據(jù)類型轉(zhuǎn)換JavaScript會(huì)自動(dòng)將某一個(gè)類型的數(shù)據(jù)轉(zhuǎn)換成另一個(gè)類型的數(shù)據(jù)。JavaScript隱式類型轉(zhuǎn)換的規(guī)則是:將類型轉(zhuǎn)換到環(huán)境中應(yīng)該使用的類型。JavaScript中除了可以隱式轉(zhuǎn)換數(shù)據(jù)類型之外,還可以顯式轉(zhuǎn)換數(shù)據(jù)類型。顯式轉(zhuǎn)換數(shù)據(jù)類型可以增強(qiáng)代碼的可讀性。常用的類型轉(zhuǎn)換的方法有以下幾種。2023/7/23112.2.2數(shù)據(jù)類型轉(zhuǎn)換1.轉(zhuǎn)換成字符串JavaScript中三種主要的原始值布爾值、數(shù)字、字符串以及其它對象都有toString()方法,可以把它們的值轉(zhuǎn)換成字符串。各種類型向字符串轉(zhuǎn)換的結(jié)果如下:①undefined值:轉(zhuǎn)換成“undefined”;②null值:轉(zhuǎn)換成“null”;③布爾值:值為true,轉(zhuǎn)換成“true”;值為false,轉(zhuǎn)換成“false”;④數(shù)字型值:NaN或數(shù)字型變量的完整字符串;⑤其他對象:如果該對象的toString()方法存在,則返回toString方法的返回值,否則返回undefined。2023/7/23122.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(numString)2023/7/23132.2.2數(shù)據(jù)類型轉(zhuǎn)換3.基本數(shù)據(jù)類型轉(zhuǎn)換在JavaScript中可以使用如下3個(gè)函數(shù)來將數(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)換成字符串2023/7/23142.2.3引用類型1.對象JavaScript中的對象是一個(gè)屬性的集合,其中的每一個(gè)都包含一個(gè)基本值。對象中的數(shù)據(jù)時(shí)已命名的數(shù)據(jù),通常作為對象的屬性來引用,這些屬性可以訪問值。保存在屬性中的每個(gè)值都可以是一個(gè)值或另一個(gè)對象,甚至是一個(gè)函數(shù)。對象使用花括號創(chuàng)建,例如下面的代碼創(chuàng)建了一個(gè)名為myObject的空對象:varmyObject={};這里有一個(gè)帶有幾個(gè)屬性的對象:vardvdCatalog={"identifier":"1","name":"CohoVineyard"};2023/7/23152.2.3引用類型2.?dāng)?shù)組數(shù)組和對象一樣,也是一些數(shù)據(jù)的集合,這些數(shù)據(jù)也可以是字符串類型、數(shù)字型、布爾型,或者是引用型。例如下面的定義:varscore=[56,34,23,76,45];上述語句創(chuàng)建數(shù)組score,中括號“[]”內(nèi)的成員為數(shù)組元素。由于JavaScript是弱類型語言,因此不要求目標(biāo)數(shù)組中各元素的數(shù)據(jù)類型均相同,例如:varscore=[56,34,"23",76,"45"];2023/7/23162.3JavaScript運(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)算符2023/7/23172.3.1算術(shù)運(yùn)算符算術(shù)運(yùn)算符是最簡單、最常用的運(yùn)算符,可以使用它們進(jìn)行通用的數(shù)學(xué)計(jì)算表2-5算術(shù)運(yùn)算符運(yùn)算符表達(dá)式說明示例+x+y返回x加y的值x=4+2,結(jié)果為6-x-y返回x減y的值x=8-6,結(jié)果為2*x*y返回x乘以y的值x=3*5,結(jié)果為15/x/y返回x除以y的值x=6/3,結(jié)果為2%x%y返回x與y的模(x除以y的余數(shù))x=8%3,結(jié)果為2++x++、++x返回?cái)?shù)值遞增、遞增并返回?cái)?shù)值--x--、--x返回?cái)?shù)值遞減、遞減并返回?cái)?shù)值2023/7/23182.3.2邏輯運(yùn)算符邏輯運(yùn)算符通常用于執(zhí)行布爾運(yùn)算,JavaScript腳本語言的邏輯運(yùn)算符包括“&&”、“||”和“!”等,用于兩個(gè)邏輯型數(shù)據(jù)之間的操作,返回值的數(shù)據(jù)類型為布爾型。表2-7邏輯運(yùn)算符運(yùn)算符表達(dá)式說明示例&&表達(dá)式1&&表達(dá)式2若兩邊表達(dá)式的值都為ture,則返回ture;任意一個(gè)值為false,則返回false5>3&&5<6返回true5>3&&5>6返回false||表達(dá)式1||表達(dá)式2只有表達(dá)式的值都為false時(shí),才返回false,否則返回true5>3||5>6返回true5>7||5>6返回false!!表達(dá)式求反。若表達(dá)式的值為true,則返回false,否則返回true!(5>3)返回false!(5>6)返回ture2023/7/23192.3.3關(guān)系運(yùn)算符關(guān)系運(yùn)算符用于比較兩個(gè)操作數(shù)的大小,其比較的結(jié)果是一個(gè)布爾型的值。

表2-8關(guān)系運(yùn)算符運(yùn)算符說明示例==相等,若兩數(shù)據(jù)相等,則返回布爾值true,否則返回falsenum==8!=不相等,若兩數(shù)據(jù)不相等,則返回布爾值true,否則返回falsenum!=8>大于,若左邊數(shù)據(jù)大于右邊數(shù)據(jù),則返回布爾值true,否則返回falsenum>8<小于,若左邊數(shù)據(jù)小于右邊數(shù)據(jù),則返回布爾值true,否則返回falsenum<8>=大于或等于,若左邊數(shù)據(jù)大于或等于右邊數(shù)據(jù),則返回布爾值true,否則返回falsenum>=8<=小于或等于,若左邊數(shù)據(jù)小于或等于右邊數(shù)據(jù),則返回布爾值true,否則返回falsenum<=82023/7/23202.3.4位運(yùn)算符位運(yùn)算符是對操作數(shù)按其在計(jì)算機(jī)內(nèi)表示的二進(jìn)制數(shù)逐位地進(jìn)行邏輯運(yùn)算或移位運(yùn)算。表2-9位運(yùn)算符運(yùn)算符說明示例&按位與,若兩數(shù)據(jù)對應(yīng)位都是1,則該位為1,否則為09&4^按位異或,若兩數(shù)據(jù)對應(yīng)位相反,則該位為1,否則為09^4|按位或,若兩數(shù)據(jù)對應(yīng)位都是0,則該位為0,否則為19|4~按位非,若數(shù)據(jù)對應(yīng)位為0,則該位為1,否則為0~4>>算術(shù)右移,將左側(cè)數(shù)據(jù)的二進(jìn)制值向左移動(dòng)由右側(cè)數(shù)值表示的位數(shù),右邊空位補(bǔ)09>>2<<算術(shù)左移,將左側(cè)數(shù)據(jù)的二進(jìn)制值向右移動(dòng)由右側(cè)數(shù)值表示的位數(shù),忽略被移出的位9<<2>>>邏輯右移,將左邊數(shù)據(jù)表示的二進(jìn)制值向右移動(dòng)由右邊數(shù)值表示的位數(shù),忽略被移出的位,左側(cè)空位補(bǔ)09>>>22023/7/23212.4JavaScript語句2.4.1選擇語句2.4.2循環(huán)語句2.4.3跳轉(zhuǎn)語句2.4.4異常處理語句2023/7/23222.4.1選擇語句1.if語句if條件假設(shè)語句是比較簡單的一種選擇結(jié)構(gòu)語句,若給定的邏輯條件表達(dá)式為真,則執(zhí)行一組給定的語句。其基本結(jié)構(gòu)如下:if(conditions){statements;}2023/7/23232.4.1選擇語句switch…case語句提供了if…else語句的一個(gè)變通形式,可以從多個(gè)語句塊中選擇其中一個(gè)執(zhí)行。其基本語法結(jié)構(gòu)如下:switch(a){casea1:statement1;[break;]casea2:statement2;[break];……default:[statementn;]}2023/7/23242.4.1選擇語句在JavaScript腳本語言中,“?...:”運(yùn)算符用于創(chuàng)建條件分支。在動(dòng)作較為簡單的情況下,較之if…else語句更加簡便,其語法結(jié)構(gòu)如下:(condition)?statementA:statementB;載入上述語句后,首先判斷條件condition,若結(jié)果為真則執(zhí)行語句statementA,否則執(zhí)行語句statementB。2023/7/23252.4.2循環(huán)語句JavaScript中的循環(huán)語句包括while語句、do…while語句、for語句和for…in語句4種。1.while語句while語句屬于基本循環(huán)語句,用于在指定條件為真時(shí)重復(fù)執(zhí)行一組語句。while語句的語法結(jié)構(gòu)如下:while(conditions){statements;}2023/7/23262.4.2循環(huán)語句2.do…while語句do…while語句類似于while語句,不同的是while語句是先判斷邏輯條件表達(dá)式的值是否為true之后再?zèng)Q定是否執(zhí)行循環(huán)體中的語句,而do…while循環(huán)語句是先執(zhí)行循環(huán)體中的語句之后,再判斷邏輯條件表達(dá)式是否為true,如果為true則重復(fù)執(zhí)行循環(huán)體中的語句。do…while語句的語法結(jié)構(gòu)如下:do{statements;}while(condition);2023/7/23272.4.2循環(huán)語句3.for語句for循環(huán)語句也類似于while語句,使用起來更為方便。for語句按照指定的循環(huán)次數(shù),循環(huán)執(zhí)行循環(huán)體內(nèi)語句(或語句塊),它提供的是一種常用的循環(huán)模式,即初始化變量、判斷邏輯條件表達(dá)式和改變變量值。for語句的語法結(jié)構(gòu)如下:for(initialization;condition;loop-update){statements;}2023/7/23282.4.2循環(huán)語句4.for…in語句使用for…in循環(huán)語句可以遍歷數(shù)組或者對指定對象的屬性和方法進(jìn)行遍歷,其語法結(jié)構(gòu)如下:for(變量名in對象名){statements;}2023/7/23292.4.3跳轉(zhuǎn)語句JavaScript跳轉(zhuǎn)語句分為break語句和continue語句。1.break語句使用break語句可以無條件地從當(dāng)前執(zhí)行的循環(huán)結(jié)構(gòu)或者switch結(jié)構(gòu)的語句塊中中斷并退出,其語法如下所示:break;由于它是用來退出循環(huán)或者switch語句,所以只有當(dāng)它出現(xiàn)在這些語句時(shí),這種形式的break語句才是合法的。2023/7/23302.4.3跳轉(zhuǎn)語句2.continue語句continue語句的工作方式與break語句有點(diǎn)類似,但是其作用不同。continue語句是只跳出本次循環(huán)而立即進(jìn)入到下一次循環(huán);break語句則是跳出循環(huán)后結(jié)束整個(gè)循環(huán)。2023/7/23312.4.4異常處理語句JavaScript可以捕獲異常并進(jìn)行相應(yīng)的處理,通常用到的異常處理語句包括throw和try-catch-finally語句兩種。1.throw語句throw(拋出)語句的作用是拋出一個(gè)異常。所謂的拋出異常,就是用新號通知發(fā)生了異常情況或錯(cuò)誤。throw語句的預(yù)防代碼如下所示:throw表達(dá)式;2023/7/23322.4.4異常處理語句2.try-catch-finally語句try-catch-finally語句是JavaScript中的用于處理異常的語句,該語句與throw語句不同。throw語句只是拋出一個(gè)異常,但對該異常并不進(jìn)行處理,而try-catch-finally語句可以處理所拋出的異常。其語法形式如下所示:try{//語句塊1:要執(zhí)行的代碼}catch(e){//語句塊2:處理異常的代碼}finally{//語句塊3:無論異常發(fā)生與否,都會(huì)執(zhí)行的代碼}2023/7/23332.5JavaScript函數(shù)2.5.1函數(shù)的創(chuàng)建與調(diào)用2.5.2函數(shù)的參數(shù)2.5.3函數(shù)的屬性與方法2.5.4閉包2023/7/23342.5.1函數(shù)的創(chuàng)建與調(diào)用函數(shù)由函數(shù)定義和函數(shù)調(diào)用兩部分組成,應(yīng)首先定義函數(shù),然后再進(jìn)行調(diào)用,以養(yǎng)成良好的編程習(xí)慣。函數(shù)的定義應(yīng)使用關(guān)鍵字function,其語法規(guī)則如下:functionfuncName([parameters]){statements;[return表達(dá)式;]}函數(shù)定義過程結(jié)束后,可在文檔中任意位置調(diào)用該函數(shù)。引用目標(biāo)函數(shù)時(shí),只需在函數(shù)名后加上小括號即可。若目標(biāo)函數(shù)需引入?yún)?shù),則需在小括號內(nèi)添加傳遞參數(shù)。如果函數(shù)有返回值,可將最終結(jié)果賦值給一個(gè)自定義的變量并用關(guān)鍵字return返回。2023/7/23352.5.2函數(shù)的參數(shù)在JavaScript中提供了一個(gè)arguments對象,該對象可以獲取從JavaScript代碼中傳遞過來的參數(shù),并將這些參數(shù)存放在arguments[]數(shù)組中,因此也可以通過arguments對象來判斷傳遞過來的參數(shù)的個(gè)數(shù),引用屬性arguments.length即可。argum

溫馨提示

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

最新文檔

評論

0/150

提交評論