JavaScript語言與Ajax應用JavaScript語法課件_第1頁
JavaScript語言與Ajax應用JavaScript語法課件_第2頁
JavaScript語言與Ajax應用JavaScript語法課件_第3頁
JavaScript語言與Ajax應用JavaScript語法課件_第4頁
JavaScript語言與Ajax應用JavaScript語法課件_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章

JavaScript語法

2.1JavaScript語法基礎2.2JavaScript數(shù)據(jù)類型2.3JavaScript運算符2.4JavaScript語句2.5JavaScript函數(shù)17十二月2022JavaScript語言與Ajax應用(第二版)1第2章JavaScript語法2.1Jav2.1JavaScript語法基礎2.1.1變量2.1.2關鍵字與保留字2.1.3原始值與引用值17十二月2022JavaScript語言與Ajax應用(第二版)22.1JavaScript語法基礎2.1.1變2.1.1變量變量(variable)是相對于常量而言的,常量通常是一個不會改變的固定值,而變量是對應到某個值的一個符號,這個符號中的值可能會隨著程序的執(zhí)行而改變,因此稱為“變量”。在JavaScript腳本語言中,聲明變量的過程相當簡單,JavaScript腳本語言使用關鍵字var作為其唯一的變量標識符,其用法為在關鍵字var后面加上變量名。17十二月2022JavaScript語言與Ajax應用(第二版)32.1.1變量變量(variable)是相對于常量而言的2.1.1變量JavaScript中的變量命名同其他語言非常相似,這里要注意以下幾點:①第一個字符必須是字母(大小寫均可),下劃線(_)或者美元符號($);②后續(xù)的字符可以是字母、數(shù)字、下劃線或者美元符號;③變量名稱不能是關鍵字或保留字;④不允許出現(xiàn)中文變量名,且大小寫敏感。17十二月2022JavaScript語言與Ajax應用(第二版)42.1.1變量JavaScript中的變量命名同其他語言2.1.2關鍵字與保留字ECMA-262定義了JavaScript支持的一套關鍵字(keyword)。根據(jù)規(guī)定,關鍵字不能用作變量名或函數(shù)名。17十二月2022JavaScript語言與Ajax應用(第二版)5表2-1JavaScript關鍵字breakcasecatchcontinuedefaultdeletedoelsefinallyforfunctionifininstanceofnewreturnswitchthisthrowtrytypeofvarvoidwhilewith2.1.2關鍵字與保留字ECMA-262定義了Java2.1.2關鍵字與保留字JavaScript還定義了一套保留字(reservedword)。保留字在某種意義上是為將來的關鍵字而保留的單詞。因此,保留字也不能被用作變量名或函數(shù)名。17十二月2022JavaScript語言與Ajax應用(第二版)6表2-2JavaScript保留字abstractbooleanbytecharclassconstdebuggerdoubleenumexportextendsfinalfloatgotoimplementsimportintinterfacelongnativepackageprivateprotectedpublicshortstaticsupersynchronizedthrowstransientvolatile2.1.2關鍵字與保留字JavaScript還定義了一2.1.3原始值與引用值在JavaScript中,變量可以存放兩種類型的值,即原始值和引用值。原始值指的就是代表原始數(shù)據(jù)類型(基本數(shù)據(jù)類型)的值,即Undefined、Null、Number、String、Boolean類型所表示的值。引用值指的就是復合數(shù)據(jù)類型的值,即Object、Function、Array、以及自定義對象,等等。17十二月2022JavaScript語言與Ajax應用(第二版)72.1.3原始值與引用值在JavaScript中,2.2JavaScript數(shù)據(jù)類型2.2.1基礎數(shù)據(jù)類型2.2.2數(shù)據(jù)類型轉換2.2.3引用類型17十二月2022JavaScript語言與Ajax應用(第二版)82.2JavaScript數(shù)據(jù)類型2.2.1基2.2.1基礎數(shù)據(jù)類型變量包含多種類型,JavaScript腳本語言支持的基本數(shù)據(jù)類型包括Number型、String型、Boolean型、Undefined型和Null型,分別對應于不同的存儲空間。17十二月2022JavaScript語言與Ajax應用(第二版)9表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表示空值2.2.1基礎數(shù)據(jù)類型變量包含多種類型,JavaScri2.2.2數(shù)據(jù)類型轉換JavaScript會自動將某一個類型的數(shù)據(jù)轉換成另一個類型的數(shù)據(jù)。JavaScript隱式類型轉換的規(guī)則是:將類型轉換到環(huán)境中應該使用的類型。JavaScript中除了可以隱式轉換數(shù)據(jù)類型之外,還可以顯式轉換數(shù)據(jù)類型。顯式轉換數(shù)據(jù)類型可以增強代碼的可讀性。常用的類型轉換的方法有以下幾種。17十二月2022JavaScript語言與Ajax應用(第二版)102.2.2數(shù)據(jù)類型轉換JavaScript會自動將某一2.2.2數(shù)據(jù)類型轉換1.轉換成字符串JavaScript中三種主要的原始值布爾值、數(shù)字、字符串以及其它對象都有toString()方法,可以把它們的值轉換成字符串。各種類型向字符串轉換的結果如下:①undefined值:轉換成“undefined”;②null值:轉換成“null”;③布爾值:值為true,轉換成“true”;值為false,轉換成“false”;④數(shù)字型值:NaN或數(shù)字型變量的完整字符串;⑤其他對象:如果該對象的toString()方法存在,則返回toString方法的返回值,否則返回undefined。17十二月2022JavaScript語言與Ajax應用(第二版)112.2.2數(shù)據(jù)類型轉換1.轉換成字符串16十二月22.2.2數(shù)據(jù)類型轉換2.轉換成數(shù)字①提取整數(shù)的parseInt()方法parseInt()方法用于將字符串轉換為整數(shù),其格式為:parseInt(numString,[radix])②提取浮點數(shù)的parseFloat()方法parseFloat()方法用于字符串轉換為浮點數(shù),其格式為:parseFloat(numString)17十二月2022JavaScript語言與Ajax應用(第二版)122.2.2數(shù)據(jù)類型轉換2.轉換成數(shù)字16十二月202.2.2數(shù)據(jù)類型轉換3.基本數(shù)據(jù)類型轉換在JavaScript中可以使用如下3個函數(shù)來將數(shù)據(jù)轉換成數(shù)字型、布爾型和字符串型,下面看一下它的幾個強制轉換的函數(shù):①Boolean(value):把值轉換成Boolean類型②Nnumber(value):把值轉換成數(shù)字(整型或浮點數(shù))③String(value):把值轉換成字符串17十二月2022JavaScript語言與Ajax應用(第二版)132.2.2數(shù)據(jù)類型轉換3.基本數(shù)據(jù)類型轉換16十二月2.2.3引用類型1.對象JavaScript中的對象是一個屬性的集合,其中的每一個都包含一個基本值。對象中的數(shù)據(jù)時已命名的數(shù)據(jù),通常作為對象的屬性來引用,這些屬性可以訪問值。保存在屬性中的每個值都可以是一個值或另一個對象,甚至是一個函數(shù)。對象使用花括號創(chuàng)建,例如下面的代碼創(chuàng)建了一個名為myObject的空對象:varmyObject={};這里有一個帶有幾個屬性的對象:vardvdCatalog={"identifier":"1","name":"CohoVineyard"};17十二月2022JavaScript語言與Ajax應用(第二版)142.2.3引用類型1.對象16十二月2022Java2.2.3引用類型2.數(shù)組數(shù)組和對象一樣,也是一些數(shù)據(jù)的集合,這些數(shù)據(jù)也可以是字符串類型、數(shù)字型、布爾型,或者是引用型。例如下面的定義:varscore=[56,34,23,76,45];上述語句創(chuàng)建數(shù)組score,中括號“[]”內的成員為數(shù)組元素。由于JavaScript是弱類型語言,因此不要求目標數(shù)組中各元素的數(shù)據(jù)類型均相同,例如:varscore=[56,34,"23",76,"45"];17十二月2022JavaScript語言與Ajax應用(第二版)152.2.3引用類型2.數(shù)組16十二月2022Java2.3JavaScript運算符2.3.1算術運算符2.3.2邏輯運算符2.3.3關系運算符2.3.4位運算符17十二月2022JavaScript語言與Ajax應用(第二版)162.3JavaScript運算符2.3.1算術2.3.1算術運算符算術運算符是最簡單、最常用的運算符,可以使用它們進行通用的數(shù)學計算17十二月2022JavaScript語言與Ajax應用(第二版)17表2-5算術運算符運算符表達式說明示例+x+y返回x加y的值x=4+2,結果為6-x-y返回x減y的值x=8-6,結果為2*x*y返回x乘以y的值x=3*5,結果為15/x/y返回x除以y的值x=6/3,結果為2%x%y返回x與y的模(x除以y的余數(shù))x=8%3,結果為2++x++、++x返回數(shù)值遞增、遞增并返回數(shù)值--x--、--x返回數(shù)值遞減、遞減并返回數(shù)值2.3.1算術運算符算術運算符是最簡單、最常用的運算符,2.3.2邏輯運算符邏輯運算符通常用于執(zhí)行布爾運算,JavaScript腳本語言的邏輯運算符包括“&&”、“||”和“!”等,用于兩個邏輯型數(shù)據(jù)之間的操作,返回值的數(shù)據(jù)類型為布爾型。17十二月2022JavaScript語言與Ajax應用(第二版)18表2-7邏輯運算符運算符表達式說明示例&&表達式1&&表達式2若兩邊表達式的值都為ture,則返回ture;任意一個值為false,則返回false5>3&&5<6返回true5>3&&5>6返回false||表達式1||表達式2只有表達式的值都為false時,才返回false,否則返回true5>3||5>6返回true5>7||5>6返回false!!表達式求反。若表達式的值為true,則返回false,否則返回true!(5>3)返回false!(5>6)返回ture2.3.2邏輯運算符邏輯運算符通常用于執(zhí)行布爾運算,Ja2.3.3關系運算符關系運算符用于比較兩個操作數(shù)的大小,其比較的結果是一個布爾型的值。17十二月2022JavaScript語言與Ajax應用(第二版)19

表2-8關系運算符運算符說明示例==相等,若兩數(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<=82.3.3關系運算符關系運算符用于比較兩個操作數(shù)的大小,2.3.4位運算符位運算符是對操作數(shù)按其在計算機內表示的二進制數(shù)逐位地進行邏輯運算或移位運算。17十二月2022JavaScript語言與Ajax應用(第二版)20表2-9位運算符運算符說明示例&按位與,若兩數(shù)據(jù)對應位都是1,則該位為1,否則為09&4^按位異或,若兩數(shù)據(jù)對應位相反,則該位為1,否則為09^4|按位或,若兩數(shù)據(jù)對應位都是0,則該位為0,否則為19|4~按位非,若數(shù)據(jù)對應位為0,則該位為1,否則為0~4>>算術右移,將左側數(shù)據(jù)的二進制值向左移動由右側數(shù)值表示的位數(shù),右邊空位補09>>2<<算術左移,將左側數(shù)據(jù)的二進制值向右移動由右側數(shù)值表示的位數(shù),忽略被移出的位9<<2>>>邏輯右移,將左邊數(shù)據(jù)表示的二進制值向右移動由右邊數(shù)值表示的位數(shù),忽略被移出的位,左側空位補09>>>22.3.4位運算符位運算符是對操作數(shù)按其在計算機內表示的2.4JavaScript語句2.4.1選擇語句2.4.2循環(huán)語句2.4.3跳轉語句2.4.4異常處理語句17十二月2022JavaScript語言與Ajax應用(第二版)212.4JavaScript語句2.4.1選擇語2.4.1選擇語句1.if語句if條件假設語句是比較簡單的一種選擇結構語句,若給定的邏輯條件表達式為真,則執(zhí)行一組給定的語句。其基本結構如下:if(conditions){statements;}17十二月2022JavaScript語言與Ajax應用(第二版)222.4.1選擇語句1.if語句16十二月2022Ja2.4.1選擇語句switch…case語句提供了if…else語句的一個變通形式,可以從多個語句塊中選擇其中一個執(zhí)行。其基本語法結構如下:switch(a){casea1:statement1;[break;]casea2:statement2;[break];……default:[statementn;]}17十二月2022JavaScript語言與Ajax應用(第二版)232.4.1選擇語句switch…case語句提供了if…2.4.1選擇語句在JavaScript腳本語言中,“?...:”運算符用于創(chuàng)建條件分支。在動作較為簡單的情況下,較之if…else語句更加簡便,其語法結構如下:(condition)?statementA:statementB;載入上述語句后,首先判斷條件condition,若結果為真則執(zhí)行語句statementA,否則執(zhí)行語句statementB。17十二月2022JavaScript語言與Ajax應用(第二版)242.4.1選擇語句在JavaScript腳本語言中,2.4.2循環(huán)語句JavaScript中的循環(huán)語句包括while語句、do…while語句、for語句和for…in語句4種。1.while語句while語句屬于基本循環(huán)語句,用于在指定條件為真時重復執(zhí)行一組語句。while語句的語法結構如下:while(conditions){statements;}17十二月2022JavaScript語言與Ajax應用(第二版)252.4.2循環(huán)語句JavaScript中的循環(huán)語句包括w2.4.2循環(huán)語句2.do…while語句do…while語句類似于while語句,不同的是while語句是先判斷邏輯條件表達式的值是否為true之后再決定是否執(zhí)行循環(huán)體中的語句,而do…while循環(huán)語句是先執(zhí)行循環(huán)體中的語句之后,再判斷邏輯條件表達式是否為true,如果為true則重復執(zhí)行循環(huán)體中的語句。do…while語句的語法結構如下:do{statements;}while(condition);17十二月2022JavaScript語言與Ajax應用(第二版)262.4.2循環(huán)語句2.do…while語句16十二月2.4.2循環(huán)語句3.for語句for循環(huán)語句也類似于while語句,使用起來更為方便。for語句按照指定的循環(huán)次數(shù),循環(huán)執(zhí)行循環(huán)體內語句(或語句塊),它提供的是一種常用的循環(huán)模式,即初始化變量、判斷邏輯條件表達式和改變變量值。for語句的語法結構如下:for(initialization;condition;loop-update){statements;}17十二月2022JavaScript語言與Ajax應用(第二版)272.4.2循環(huán)語句3.for語句16十二月2022J2.4.2循環(huán)語句4.for…in語句使用for…in循環(huán)語句可以遍歷數(shù)組或者對指定對象的屬性和方法進行遍歷,其語法結構如下:for(變量名in對象名){statements;}17十二月2022JavaScript語言與Ajax應用(第二版)282.4.2循環(huán)語句4.for…in語句16十二月202.4.3跳轉語句JavaScript跳轉語句分為break語句和continue語句。1.break語句使用break語句可以無條件地從當前執(zhí)行的循環(huán)結構或者switch結構的語句塊中中斷并退出,其語法如下所示:break;由于它是用來退出循環(huán)或者switch語句,所以只有當它出現(xiàn)在這些語句時,這種形式的break語句才是合法的。17十二月2022JavaScript語言與Ajax應用(第二版)292.4.3跳轉語句JavaScript跳轉語句分為br2.4.3跳轉語句2.continue語句continue語句的工作方式與break語句有點類似,但是其作用不同。continue語句是只跳出本次循環(huán)而立即進入到下一次循環(huán);break語句則是跳出循環(huán)后結束整個循環(huán)。17十二月2022JavaScript語言與Ajax應用(第二版)302.4.3跳轉語句2.continue語句16十二月2.4.4異常處理語句JavaScript可以捕獲異常并進行相應的處理,通常用到的異常處理語句包括throw和try-catch-finally語句兩種。1.throw語句throw(拋出)語句的作用是拋出一個異常。所謂的拋出異常,就是用新號通知發(fā)生了異常情況或錯誤。throw語句的預防代碼如下所示:throw表達式;17十二月2022JavaScript語言與Ajax應用(第二版)312.4.4異常處理語句JavaScript可以捕獲異常2.4.4異常處理語句2.try-catch-finally語句try-catch-finally語句是JavaScript中的用于處理異常的語句,該語句與throw語句不同。throw語句只是拋出一個異常,但對該異常并不進行處理,而try-catch-finally語句可以處理所拋出的異常。其語法形式如下所示:try{//語句塊1:要執(zhí)行的代碼}catch(e){//語句塊2:處理異常的代碼}finally{//語句塊3:無論異常發(fā)生與否,都會執(zhí)行的代碼}17十二月2022JavaScript語言與Ajax應用(第二版)322.4.4異常處理語句2.try-catch-fina2.5JavaScript函數(shù)2.5.1函數(shù)的創(chuàng)建與調用2.5.2函數(shù)的參數(shù)2.5.3函數(shù)的屬性與方法2.5.4閉包17十二月2022JavaScript語言與Ajax應用(第二版)332.5JavaScript函數(shù)2.5.1函數(shù)的2.5.1函數(shù)的創(chuàng)建與調用函數(shù)由函數(shù)定義和函數(shù)調用兩部分組成,應首先定義函數(shù),然后再進行調用,以養(yǎng)成良好的編程習慣。函數(shù)的定義應使用關鍵字function,其語法規(guī)則如下:functionfuncName([parameters]){statements;[return表達式;]}函數(shù)定義過程結束后,可在文檔中任意位置調用該函數(shù)。引用目標函數(shù)時,只需在函數(shù)名后加上小括號即可。若目標函數(shù)需引入?yún)?shù),則需在小括號內添加傳遞參數(shù)。如果函數(shù)有返回值,可將最終結果賦值給一個自定義的變量并用關鍵字return返回。17十二月2022JavaScript語言與Ajax應用(第二版)342.5.1函數(shù)的創(chuàng)建與調用函數(shù)由函數(shù)定義和函數(shù)調用兩部分2.5.2函數(shù)的參數(shù)在JavaScript中提供了一個arguments對象,該對象可以獲取從JavaScript代碼中傳遞過來的參數(shù),并將這些參數(shù)存放在arguments[]數(shù)組中,因此也可以通過arguments對象來判斷傳遞過來的參數(shù)的個數(shù),引用屬性arguments.length即可。arguments為數(shù)組,因此通過arguments[i]可以獲得實際傳遞的參數(shù)的值。由于JavaScript是一種無類型的語言,因此在定義函數(shù)時,不需要為函數(shù)的參數(shù)指定數(shù)據(jù)類型。事實上,JavaScript也不會去檢測傳遞過來的參數(shù)的類型是否符合函數(shù)的需要。如果一個函數(shù)對參數(shù)的要求很嚴格,那么可以在函數(shù)體內使用typeof運算符來檢測傳遞過來的參數(shù)是否符合要求。17十二月2022JavaScript語言與Ajax應用(第二版)352.5.2函數(shù)的參數(shù)在JavaScript中提供了一個a2.5.3函數(shù)的屬性與方法1.length屬性函數(shù)的length屬性與arguments對象的length屬性不一樣,arguments對象的length屬性可以獲得傳遞給函數(shù)的實際參數(shù)的個數(shù),而函數(shù)的length屬性可以獲得函數(shù)定義的參數(shù)個數(shù)。同時arguments對象的length屬性只能在函數(shù)體內使用,而函數(shù)的length屬性可以在函數(shù)體之外使用。17十二月2022JavaScript語言與Ajax應用(第二版)362.5.3函數(shù)的屬性與方法1.length屬性16十2.5.3函數(shù)的屬性與方法2.call()和apply()方法call()方法的使用語法如下:函數(shù)名.call(對象名,參數(shù)1,參數(shù)2,…)apply()方法的使用語法如下:函數(shù)名.apply(對象名,數(shù)組)由上可以看出,兩個方法的區(qū)別是,call()方法直接將參數(shù)列表放在對象名之后,而apply()方法卻是將列表放在數(shù)組里,并將數(shù)組放在對象名之后。17十二月2022JavaScript語言與Ajax應用(第二版)372.5.3函數(shù)的屬性與方法2.call()和apply2.5.4閉包JavaScript支持閉包(closure)。所謂閉包,是指詞法表示包括不必計算的變量的函數(shù),也就是說,該函數(shù)能使用函數(shù)外定義的變量。在JavaScript中使用全局變量時一個簡單的閉包實例。varsMessage="HelloWorld!";functionsayHelloWorld(){alert(sMessage);}sayHelloWorld();17十二月2022JavaScript語言與Ajax應用(第二版)382.5.4閉包JavaScript支持閉包(closu第2章

JavaScript語法

2.1JavaScript語法基礎2.2JavaScript數(shù)據(jù)類型2.3JavaScript運算符2.4JavaScript語句2.5JavaScript函數(shù)17十二月2022JavaScript語言與Ajax應用(第二版)39第2章JavaScript語法2.1Jav2.1JavaScript語法基礎2.1.1變量2.1.2關鍵字與保留字2.1.3原始值與引用值17十二月2022JavaScript語言與Ajax應用(第二版)402.1JavaScript語法基礎2.1.1變2.1.1變量變量(variable)是相對于常量而言的,常量通常是一個不會改變的固定值,而變量是對應到某個值的一個符號,這個符號中的值可能會隨著程序的執(zhí)行而改變,因此稱為“變量”。在JavaScript腳本語言中,聲明變量的過程相當簡單,JavaScript腳本語言使用關鍵字var作為其唯一的變量標識符,其用法為在關鍵字var后面加上變量名。17十二月2022JavaScript語言與Ajax應用(第二版)412.1.1變量變量(variable)是相對于常量而言的2.1.1變量JavaScript中的變量命名同其他語言非常相似,這里要注意以下幾點:①第一個字符必須是字母(大小寫均可),下劃線(_)或者美元符號($);②后續(xù)的字符可以是字母、數(shù)字、下劃線或者美元符號;③變量名稱不能是關鍵字或保留字;④不允許出現(xiàn)中文變量名,且大小寫敏感。17十二月2022JavaScript語言與Ajax應用(第二版)422.1.1變量JavaScript中的變量命名同其他語言2.1.2關鍵字與保留字ECMA-262定義了JavaScript支持的一套關鍵字(keyword)。根據(jù)規(guī)定,關鍵字不能用作變量名或函數(shù)名。17十二月2022JavaScript語言與Ajax應用(第二版)43表2-1JavaScript關鍵字breakcasecatchcontinuedefaultdeletedoelsefinallyforfunctionifininstanceofnewreturnswitchthisthrowtrytypeofvarvoidwhilewith2.1.2關鍵字與保留字ECMA-262定義了Java2.1.2關鍵字與保留字JavaScript還定義了一套保留字(reservedword)。保留字在某種意義上是為將來的關鍵字而保留的單詞。因此,保留字也不能被用作變量名或函數(shù)名。17十二月2022JavaScript語言與Ajax應用(第二版)44表2-2JavaScript保留字abstractbooleanbytecharclassconstdebuggerdoubleenumexportextendsfinalfloatgotoimplementsimportintinterfacelongnativepackageprivateprotectedpublicshortstaticsupersynchronizedthrowstransientvolatile2.1.2關鍵字與保留字JavaScript還定義了一2.1.3原始值與引用值在JavaScript中,變量可以存放兩種類型的值,即原始值和引用值。原始值指的就是代表原始數(shù)據(jù)類型(基本數(shù)據(jù)類型)的值,即Undefined、Null、Number、String、Boolean類型所表示的值。引用值指的就是復合數(shù)據(jù)類型的值,即Object、Function、Array、以及自定義對象,等等。17十二月2022JavaScript語言與Ajax應用(第二版)452.1.3原始值與引用值在JavaScript中,2.2JavaScript數(shù)據(jù)類型2.2.1基礎數(shù)據(jù)類型2.2.2數(shù)據(jù)類型轉換2.2.3引用類型17十二月2022JavaScript語言與Ajax應用(第二版)462.2JavaScript數(shù)據(jù)類型2.2.1基2.2.1基礎數(shù)據(jù)類型變量包含多種類型,JavaScript腳本語言支持的基本數(shù)據(jù)類型包括Number型、String型、Boolean型、Undefined型和Null型,分別對應于不同的存儲空間。17十二月2022JavaScript語言與Ajax應用(第二版)47表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表示空值2.2.1基礎數(shù)據(jù)類型變量包含多種類型,JavaScri2.2.2數(shù)據(jù)類型轉換JavaScript會自動將某一個類型的數(shù)據(jù)轉換成另一個類型的數(shù)據(jù)。JavaScript隱式類型轉換的規(guī)則是:將類型轉換到環(huán)境中應該使用的類型。JavaScript中除了可以隱式轉換數(shù)據(jù)類型之外,還可以顯式轉換數(shù)據(jù)類型。顯式轉換數(shù)據(jù)類型可以增強代碼的可讀性。常用的類型轉換的方法有以下幾種。17十二月2022JavaScript語言與Ajax應用(第二版)482.2.2數(shù)據(jù)類型轉換JavaScript會自動將某一2.2.2數(shù)據(jù)類型轉換1.轉換成字符串JavaScript中三種主要的原始值布爾值、數(shù)字、字符串以及其它對象都有toString()方法,可以把它們的值轉換成字符串。各種類型向字符串轉換的結果如下:①undefined值:轉換成“undefined”;②null值:轉換成“null”;③布爾值:值為true,轉換成“true”;值為false,轉換成“false”;④數(shù)字型值:NaN或數(shù)字型變量的完整字符串;⑤其他對象:如果該對象的toString()方法存在,則返回toString方法的返回值,否則返回undefined。17十二月2022JavaScript語言與Ajax應用(第二版)492.2.2數(shù)據(jù)類型轉換1.轉換成字符串16十二月22.2.2數(shù)據(jù)類型轉換2.轉換成數(shù)字①提取整數(shù)的parseInt()方法parseInt()方法用于將字符串轉換為整數(shù),其格式為:parseInt(numString,[radix])②提取浮點數(shù)的parseFloat()方法parseFloat()方法用于字符串轉換為浮點數(shù),其格式為:parseFloat(numString)17十二月2022JavaScript語言與Ajax應用(第二版)502.2.2數(shù)據(jù)類型轉換2.轉換成數(shù)字16十二月202.2.2數(shù)據(jù)類型轉換3.基本數(shù)據(jù)類型轉換在JavaScript中可以使用如下3個函數(shù)來將數(shù)據(jù)轉換成數(shù)字型、布爾型和字符串型,下面看一下它的幾個強制轉換的函數(shù):①Boolean(value):把值轉換成Boolean類型②Nnumber(value):把值轉換成數(shù)字(整型或浮點數(shù))③String(value):把值轉換成字符串17十二月2022JavaScript語言與Ajax應用(第二版)512.2.2數(shù)據(jù)類型轉換3.基本數(shù)據(jù)類型轉換16十二月2.2.3引用類型1.對象JavaScript中的對象是一個屬性的集合,其中的每一個都包含一個基本值。對象中的數(shù)據(jù)時已命名的數(shù)據(jù),通常作為對象的屬性來引用,這些屬性可以訪問值。保存在屬性中的每個值都可以是一個值或另一個對象,甚至是一個函數(shù)。對象使用花括號創(chuàng)建,例如下面的代碼創(chuàng)建了一個名為myObject的空對象:varmyObject={};這里有一個帶有幾個屬性的對象:vardvdCatalog={"identifier":"1","name":"CohoVineyard"};17十二月2022JavaScript語言與Ajax應用(第二版)522.2.3引用類型1.對象16十二月2022Java2.2.3引用類型2.數(shù)組數(shù)組和對象一樣,也是一些數(shù)據(jù)的集合,這些數(shù)據(jù)也可以是字符串類型、數(shù)字型、布爾型,或者是引用型。例如下面的定義:varscore=[56,34,23,76,45];上述語句創(chuàng)建數(shù)組score,中括號“[]”內的成員為數(shù)組元素。由于JavaScript是弱類型語言,因此不要求目標數(shù)組中各元素的數(shù)據(jù)類型均相同,例如:varscore=[56,34,"23",76,"45"];17十二月2022JavaScript語言與Ajax應用(第二版)532.2.3引用類型2.數(shù)組16十二月2022Java2.3JavaScript運算符2.3.1算術運算符2.3.2邏輯運算符2.3.3關系運算符2.3.4位運算符17十二月2022JavaScript語言與Ajax應用(第二版)542.3JavaScript運算符2.3.1算術2.3.1算術運算符算術運算符是最簡單、最常用的運算符,可以使用它們進行通用的數(shù)學計算17十二月2022JavaScript語言與Ajax應用(第二版)55表2-5算術運算符運算符表達式說明示例+x+y返回x加y的值x=4+2,結果為6-x-y返回x減y的值x=8-6,結果為2*x*y返回x乘以y的值x=3*5,結果為15/x/y返回x除以y的值x=6/3,結果為2%x%y返回x與y的模(x除以y的余數(shù))x=8%3,結果為2++x++、++x返回數(shù)值遞增、遞增并返回數(shù)值--x--、--x返回數(shù)值遞減、遞減并返回數(shù)值2.3.1算術運算符算術運算符是最簡單、最常用的運算符,2.3.2邏輯運算符邏輯運算符通常用于執(zhí)行布爾運算,JavaScript腳本語言的邏輯運算符包括“&&”、“||”和“!”等,用于兩個邏輯型數(shù)據(jù)之間的操作,返回值的數(shù)據(jù)類型為布爾型。17十二月2022JavaScript語言與Ajax應用(第二版)56表2-7邏輯運算符運算符表達式說明示例&&表達式1&&表達式2若兩邊表達式的值都為ture,則返回ture;任意一個值為false,則返回false5>3&&5<6返回true5>3&&5>6返回false||表達式1||表達式2只有表達式的值都為false時,才返回false,否則返回true5>3||5>6返回true5>7||5>6返回false!!表達式求反。若表達式的值為true,則返回false,否則返回true!(5>3)返回false!(5>6)返回ture2.3.2邏輯運算符邏輯運算符通常用于執(zhí)行布爾運算,Ja2.3.3關系運算符關系運算符用于比較兩個操作數(shù)的大小,其比較的結果是一個布爾型的值。17十二月2022JavaScript語言與Ajax應用(第二版)57

表2-8關系運算符運算符說明示例==相等,若兩數(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<=82.3.3關系運算符關系運算符用于比較兩個操作數(shù)的大小,2.3.4位運算符位運算符是對操作數(shù)按其在計算機內表示的二進制數(shù)逐位地進行邏輯運算或移位運算。17十二月2022JavaScript語言與Ajax應用(第二版)58表2-9位運算符運算符說明示例&按位與,若兩數(shù)據(jù)對應位都是1,則該位為1,否則為09&4^按位異或,若兩數(shù)據(jù)對應位相反,則該位為1,否則為09^4|按位或,若兩數(shù)據(jù)對應位都是0,則該位為0,否則為19|4~按位非,若數(shù)據(jù)對應位為0,則該位為1,否則為0~4>>算術右移,將左側數(shù)據(jù)的二進制值向左移動由右側數(shù)值表示的位數(shù),右邊空位補09>>2<<算術左移,將左側數(shù)據(jù)的二進制值向右移動由右側數(shù)值表示的位數(shù),忽略被移出的位9<<2>>>邏輯右移,將左邊數(shù)據(jù)表示的二進制值向右移動由右邊數(shù)值表示的位數(shù),忽略被移出的位,左側空位補09>>>22.3.4位運算符位運算符是對操作數(shù)按其在計算機內表示的2.4JavaScript語句2.4.1選擇語句2.4.2循環(huán)語句2.4.3跳轉語句2.4.4異常處理語句17十二月2022JavaScript語言與Ajax應用(第二版)592.4JavaScript語句2.4.1選擇語2.4.1選擇語句1.if語句if條件假設語句是比較簡單的一種選擇結構語句,若給定的邏輯條件表達式為真,則執(zhí)行一組給定的語句。其基本結構如下:if(conditions){statements;}17十二月2022JavaScript語言與Ajax應用(第二版)602.4.1選擇語句1.if語句16十二月2022Ja2.4.1選擇語句switch…case語句提供了if…else語句的一個變通形式,可以從多個語句塊中選擇其中一個執(zhí)行。其基本語法結構如下:switch(a){casea1:statement1;[break;]casea2:statement2;[break];……default:[statementn;]}17十二月2022JavaScript語言與Ajax應用(第二版)612.4.1選擇語句switch…case語句提供了if…2.4.1選擇語句在JavaScript腳本語言中,“?...:”運算符用于創(chuàng)建條件分支。在動作較為簡單的情況下,較之if…else語句更加簡便,其語法結構如下:(condition)?statementA:statementB;載入上述語句后,首先判斷條件condition,若結果為真則執(zhí)行語句statementA,否則執(zhí)行語句statementB。17十二月2022JavaScript語言與Ajax應用(第二版)622.4.1選擇語句在JavaScript腳本語言中,2.4.2循環(huán)語句JavaScript中的循環(huán)語句包括while語句、do…while語句、for語句和for…in語句4種。1.while語句while語句屬于基本循環(huán)語句,用于在指定條件為真時重復執(zhí)行一組語句。while語句的語法結構如下:while(conditions){statements;}17十二月2022JavaScript語言與Ajax應用(第二版)632.4.2循環(huán)語句JavaScript中的循環(huán)語句包括w2.4.2循環(huán)語句2.do…while語句do…while語句類似于while語句,不同的是while語句是先判斷邏輯條件表達式的值是否為true之后再決定是否執(zhí)行循環(huán)體中的語句,而do…while循環(huán)語句是先執(zhí)行循環(huán)體中的語句之后,再判斷邏輯條件表達式是否為true,如果為true則重復執(zhí)行循環(huán)體中的語句。do…while語句的語法結構如下:do{statements;}while(condition);17十二月2022JavaScript語言與Ajax應用(第二版)642.4.2循環(huán)語句2.do…while語句16十二月2.4.2循環(huán)語句3.for語句for循環(huán)語句也類似于while語句,使用起來更為方便。for語句按照指定的循環(huán)次數(shù),循環(huán)執(zhí)行循環(huán)體內語句(或語句塊),它提供的是一種常用的循環(huán)模式,即初始化變量、判斷邏輯條件表達式和改變變量值。for語句的語法結構如下:for(initialization;condition;loop-update){statements;}17十二月2022JavaScript語言與Ajax應用(第二版)652.4.2循環(huán)語句3.for語句16十二月2022J2.4.2循環(huán)語句4.for…in語句使用for…in循環(huán)語句可以遍歷數(shù)組或者對指定對象的屬性和方法進行遍歷,其語法結構如下:for(變量名in對象名){statements;}17十二月2022JavaScript語言與Ajax應用(第二版)662.4.2循環(huán)語句4.for…in語句16十二月202.4.3跳轉語句JavaScript跳轉語句分為break語句和continue語句。1.break語句使用break語句可以無條件地從當前執(zhí)行的循環(huán)結構或者switch結構的語句塊中中斷并退出,其語法如下所示:break;由于它是用來退出循環(huán)或者switch語句,所以只有當它出現(xiàn)在這些語句時,這種形式的break語句才是合法的。17十二月2022JavaScript語言與Ajax應用(第二版)672.4.3跳轉語句JavaScript跳轉語句分為br2.4.3跳轉語句2.continue語句continue語句的工作方式與break語句有點類似,但是其作用不同。continue語句是只跳出本次循環(huán)而立即進入到下一次循環(huán);break語句則是跳出循環(huán)后結束整個循環(huán)。17十二月2022JavaScript語言與Ajax應用(第二版)682.4.3跳轉語句2.continue語句16十二月2.4.4異常處理語句JavaScript可以捕獲異常并進行相應的處理,通常用到的異常處理語句包括throw和try-catch-finally語句兩種。1.throw語句throw(拋出)語句的作用是拋出一個異常。所謂的拋出異常,就是用新號通知發(fā)生了異常情況或錯誤。throw語句的預防代碼如下所示:throw表達式;17十二月2022JavaScript語言與Ajax應用(第二版)692

溫馨提示

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

評論

0/150

提交評論