版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第16章
ECMAScript基礎(chǔ)第16章
ECMAScript基礎(chǔ)回顧下面說法錯誤的是(
)。創(chuàng)建站點要確定站點文件的存放位置和目錄結(jié)構(gòu),要合理安排文件的目錄建立網(wǎng)站首先要了解客戶的業(yè)務(wù)背景、目標和需求網(wǎng)站所有頁面保證在InternetExplorer瀏覽器里能較好地呈現(xiàn)就可以了首頁設(shè)計先要確定功能模塊,然后進行頁面布局C回顧下面說法錯誤的是()。C回顧關(guān)于Dreamweaver模板說法錯誤的是(
)。模板是一種特殊類型的文檔,用于設(shè)計“固定內(nèi)容”可以基于現(xiàn)有文檔創(chuàng)建模板,也可以直接創(chuàng)建新模板要使模板生效,至少應(yīng)該包含一個可編輯區(qū)域當模板文件刪除后,基于此模板的文檔會與模板分離D回顧關(guān)于Dreamweaver模板說法錯誤的是()。D預(yù)習檢查ECMAScripto數(shù)據(jù)類型有哪些
?ECMAScript有5種基本數(shù)據(jù)類型:Undefined、Null、Boolean、Number和String。ECMAScript運算符有哪些?一元運算符、算術(shù)運算符、關(guān)系運算符、邏輯運算符。預(yù)習檢查ECMAScripto數(shù)據(jù)類型有哪些?內(nèi)容提要JavaScript是Web瀏覽器上最流行的腳本語言,能夠增強用戶與Web站點和Web應(yīng)用程序之間的交互,使用JavaScript能夠通過瀏覽器對網(wǎng)頁中的所有元素進行控制。內(nèi)容提要JavaScript是Web瀏覽器上最流行的腳本語言本章要點JavaScript簡介。ECMAScript基礎(chǔ)。ECMAScript運算符。本章要點JavaScript簡介。16.1JavaScript簡介——JavaScript歷史JavaScript歷史1992年,Nombas公司開發(fā)了Cmm(C-minus-minus,簡稱C減減)嵌入式腳本語言。1995年,Netscape公司的BrendanEich為將要發(fā)布的NetscapeNavigator2.0開發(fā)了一個稱之為LiveScript的腳本語言,由于JavaScript1.0大獲成功,Netscape公司在NetscapeNavigator3.0中發(fā)布了1.1版。1997年,JavaScript1.1作為一個草案提交給歐洲計算機制造商協(xié)會(ECMA)第39技術(shù)委員會(TC39),TC39在此基礎(chǔ)上頒布了ECMA-262,該標準定義了名為ECMAScript的全新腳本語言。16.1JavaScript簡介——JavaScript歷16.1JavaScript簡介——JavaScript歷史JavaScript主要功能JavaScript提供了一種編程工具。XHTML創(chuàng)作者往往都不是程序員,JavaScript是一種擁有極其簡單語法的腳本語言,幾乎每個人都有能力將短小的代碼嵌入到頁面中。JavaScript可以響應(yīng)事件??梢詫avaScript設(shè)置為當某事件發(fā)生時才會被執(zhí)行。JavaScript可以讀取及改變XHTML元素的內(nèi)容JavaScript可以被用來驗證數(shù)據(jù)。在表單數(shù)據(jù)被提交到服務(wù)器之前,JavaScript可以被用來驗證這些數(shù)據(jù)。16.1JavaScript簡介——JavaScript歷16.1JavaScript簡介——JavaScript組成如果從Web標準行為角度看,一個完整的JavaScript由以下3個部分組成。核心(ECMAScript);文檔對象模型(DOM);瀏覽器對象模型(BOM);16.1JavaScript簡介——JavaScript組16.1JavaScript簡介——JavaScript組成ECMAScriptECMAScript與任何瀏覽器無關(guān),在ECMA-262標準中描述如下:“ECMAScript可以為不同種類的宿主環(huán)境提供核心的腳本編程能力,因此核心的腳本語言是與任何特定的宿主環(huán)境分開進行規(guī)定的?!?。Web瀏覽器對于ECMAScript來說只是一個宿主環(huán)境,并不是唯一的宿主環(huán)境,還有其他各種宿主環(huán)境,如MacromediaFlash中的ActionScript。16.1JavaScript簡介——JavaScript組16.1JavaScript簡介——JavaScript組成DOMDOM(文檔對象模型)是XHTML和XML的應(yīng)用程序接口(API)。DOM把整個頁面看成由節(jié)點層級構(gòu)成的文檔,稱為文檔樹,XHTML或XML頁面的每個部分都是一個節(jié)點的衍生物。DOM通過創(chuàng)建樹來表示文檔,從而使開發(fā)者對文檔的內(nèi)容和結(jié)構(gòu)進行控制,用DOM可以輕松地刪除、添加和替換節(jié)點。DOM共有三個級別,大多數(shù)常用瀏覽器都支持到DOM2。16.1JavaScript簡介——JavaScript組16.1JavaScript簡介——JavaScript組成BOMIE3.0和NetscapeNavigator3.0開始提供了BOM(瀏覽器對象模型),可以對瀏覽器窗口進行訪問和操作,使用BOM可以移動窗口、改變狀態(tài)欄中的文本以及執(zhí)行其他與頁面內(nèi)容不直接相關(guān)的動作。由于沒有相關(guān)的BOM標準,每種瀏覽器都有自己的BOM實現(xiàn)。16.1JavaScript簡介——JavaScript組16.1JavaScript簡介——JavaScript使用1.<script>標簽<script>標簽用于定義客戶端腳本。在XHTML中,使用的JavaScript代碼必須放在<script>中。script元素既可以包含腳本語句,也可以通過src屬性指向外部腳本文件。script標簽屬性。屬性值描述typeMIME-type腳本MIME類型charsetcharset外部腳本文件使用的字符編碼srcURL外部腳本文件的URL16.1JavaScript簡介——JavaScript使16.1JavaScript簡介——JavaScript使用把JavaScript代碼插入到XHTML頁面,需要使用<script>標簽,用type屬性來定義腳本語言。實例js(script).html使用了JavaScript腳本語句document.write向頁面輸出文本“HelloWorld!”。<head><title>script</title><scripttype="text/javascript">document.write("HelloWorld!");</script></head><body></body>16.1JavaScript簡介——JavaScript使16.1JavaScript簡介——JavaScript使用2.JavaScript腳本程序位置頁面中的JavaScript腳本程序會在頁面載入瀏覽器后立即執(zhí)行,如果希望當瀏覽者觸發(fā)某個事件時才執(zhí)行腳本程序,應(yīng)該使用函數(shù)。JavaScript腳本代碼可以放在頁面內(nèi),也可以將腳本代碼放在獨立的外部文件中。16.1JavaScript簡介——JavaScript使16.1JavaScript簡介——JavaScript使用使用內(nèi)部JavaScript在網(wǎng)頁文件的<script></script>標簽中直接編寫JavaScript腳本代碼,這是用得最多的情況,<script></script>標簽位置不是固定的,可以出現(xiàn)在<head></head>或<body></body>的任何位置。在一個XHTML文檔中可以有多段JavaScript代碼,每段代碼可以相互訪問。位于head腳本確保在需要使用腳本之前,它已經(jīng)被載入了。位于body腳本16.1JavaScript簡介——JavaScript使16.1JavaScript簡介——JavaScript使用使用外部JavaScript如果在若干個頁面中運行同樣的JavaScript腳本程序,可以將JavaScript腳本代碼寫入一個外部文件之中,用.js擴展名保存文件。頁面通過<script>標簽中的“src”屬性來使用外部JavaScript文件。實例js(script-src).html使用了外部JavaScript。<scripttype="text/javascript"src="other/1.js"></script>外部JavaScript文件other/1.js的源碼如下://JavaScriptDocumentdocument.write("HelloWorld!");外部腳本文件不能包含<script>標簽。16.1JavaScript簡介——JavaScript使16.1JavaScript簡介——JavaScript消息框可以用JavaScript腳本在瀏覽器窗口創(chuàng)建三種消息框:警告框、確認框和提示框。1.警告框警告框經(jīng)常用于提供某些信息給用戶。當警告框出現(xiàn)后,用戶需要單擊【確定】按鈕才能繼續(xù)進行操作。語法如下:window.alert("文本")或alert("文本")16.1JavaScript簡介——JavaScript消16.1JavaScript簡介——JavaScript消息框2.確認框確認框經(jīng)常用于讓用戶驗證或者接受某些信息。當確認框出現(xiàn)后,用戶需要單擊【確定】或者【取消】按鈕才能繼續(xù)進行操作,如果用戶單擊【確定】按鈕,那么返回值為true,如果用戶單擊【取消】按鈕,那么返回值為false。語法如下:window.confirm("文本")或confirm("文本")16.1JavaScript簡介——JavaScript消16.1JavaScript簡介——JavaScript消息框3.提示框提示框經(jīng)常用于提示用戶在進入頁面前輸入某個值。當提示框出現(xiàn)后,用戶需要輸入某個值,然后單擊【確定】或【取消】按鈕才能繼續(xù)操作。如果用戶單擊【確定】按鈕,那么返回值為輸入的值。如果用戶單擊【取消】按鈕,那么返回值為null。語法如下:mpt("文本","默認值")或prompt("文本","默認值")16.1JavaScript簡介——JavaScript消16.1JavaScript簡介——JavaScript消息框?qū)嵗齤s(alert、confirm、prompt).html使用了三種消息框:警告框、確認框、提示框。在IE瀏覽器里顯示示意圖。16.1JavaScript簡介——JavaScript消16.2ECMAScript基礎(chǔ)——語法基礎(chǔ)1.區(qū)分大小寫ECMAScript的變量、函數(shù)名、運算符等區(qū)分大小寫。2.弱類型變量ECMAScript中的變量無特定的類型,定義變量時只用var運算符,可以初始化為任意值,隨時改變變量所存數(shù)據(jù)的類型。如:varsColor="red";variNum=25;3.每行結(jié)尾的分號可有可無ECMAScript用分號表示結(jié)束一行代碼,如果沒有分號,ECMAScript就把換行代碼的結(jié)尾看做該語句的結(jié)尾,最好的代碼編寫習慣是加入分號。16.2ECMAScript基礎(chǔ)——語法基礎(chǔ)1.區(qū)分大小16.2ECMAScript基礎(chǔ)——語法基礎(chǔ)4.注釋有兩種類型的注釋:單行注釋以雙斜杠開頭(//)。多行注釋以單斜杠和星號開頭(/*),以星號和單斜杠結(jié)尾(*/)。5.代碼塊代碼塊表示一系列按順序執(zhí)行的語句,這些語句被封裝在“{”和“}”之間。如:if(sTest=="red"){sTest="blue";alert(sTest);}16.2ECMAScript基礎(chǔ)——語法基礎(chǔ)4.注釋16.2ECMAScript基礎(chǔ)——變量1.聲明變量ECMAScript中的變量用var運算符加變量名定義,語法如下:var變量名[=初值][,…];其中關(guān)鍵字var可省略,結(jié)尾處的分號可用白空符代替。如:varsTest="測試";可以用一個var語句定義兩個或多個變量,變量類型不必相同,如:varsTest="測試",iAge=25;16.2ECMAScript基礎(chǔ)——變量1.聲明變量16.2ECMAScript基礎(chǔ)——變量聲明變量并不一定要初始化。如:varsTest;變量可以存放不同類型的值。如可以把變量初始化為字符串類型的值,然后設(shè)置為數(shù)字類型。varsTest="測試";sTest=55;使用變量時,好的編碼習慣是始終存放相同類型的值。變量聲明不是必須的。16.2ECMAScript基礎(chǔ)——變量聲明變量并不一定要16.2ECMAScript基礎(chǔ)——變量2.變量命名變量名需要遵守兩條簡單的規(guī)則:第一個字符必須是字母、下劃線(_)或美元符號($)。余下的字符可以是下劃線、美元符號或任何字母或數(shù)字字符。下面的變量名都是合法的:vartest;var$test;16.2ECMAScript基礎(chǔ)——變量2.變量命名16.2ECMAScript基礎(chǔ)——變量在定義變量進行命名時常使用以下方法:Camel標記法首字母小寫,接下來的字母都以大寫字符開頭。varmyTestValue=0,mySecondValue="測試";Pascal標記法首字母大寫,接下來的字母都以大寫字符開頭。varMyTestValue=0,MySecondValue="測試";匈牙利類型標記法在以Pascal標記法命名的變量前附加一個小寫字母,說明該變量的類型。16.2ECMAScript基礎(chǔ)——變量在定義變量進行命名16.2ECMAScript基礎(chǔ)——變量匈牙利類型標記法變量名前綴示意表。類型前綴示例數(shù)組aaValues布爾型bbFound浮點型(數(shù)字)ffValue函數(shù)fnfnMethod整型(數(shù)字)iiValue對象ooType正則表達式rerePattern字符串ssValue變型(可以是任何類型)vvValue16.2ECMAScript基礎(chǔ)——變量匈牙利類型標記法變16.2ECMAScript基礎(chǔ)——關(guān)鍵字和保留字1.ECMAScript關(guān)鍵字ECMA-262定義了ECMAScript關(guān)鍵字(keyword),這些關(guān)鍵字標識了ECMAScript語句的開頭或結(jié)尾。關(guān)鍵字是保留的,不能用作變量名或函數(shù)名。下面是ECMAScript關(guān)鍵字列表:break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while和with。如果把關(guān)鍵字用作變量名或函數(shù)名,可能得到諸如"IdentifierExpected"(應(yīng)該有標識符或期望標識符)這樣的錯誤消息。16.2ECMAScript基礎(chǔ)——關(guān)鍵字和保留字1.E16.2ECMAScript基礎(chǔ)——關(guān)鍵字和保留字2.ECMAScript保留字ECMA-262定義了ECMAScript保留字(reservedword),保留字一般指為將來的關(guān)鍵字而保留的單詞,保留字不能被用作變量名或函數(shù)名。ECMA-262第三版中保留字的完整列表如下:abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto、implements、import、int、interface、long、native、package、private、protected、public、short、static、super、synchronized、throws、transient和volatile。如果把保留字用作變量名或函數(shù)名,那么除非將來的瀏覽器實現(xiàn)了該保留字,否則很可能收不到任何錯誤消息。16.2ECMAScript基礎(chǔ)——關(guān)鍵字和保留字2.E16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型ECMAScript有5種基本數(shù)據(jù)類型:Undefined、Null、Boolean、Number和String。1.Undefined類型Undefined類型只有一個值:undefined。當聲明的變量未初始化時,變量的默認值是undefined。如:varoTemp;聲明的變量oTemp沒有初始值,將被賦予值undefined??梢杂谩癮lert(oTemp);”或“document.write(oTemp);”語句輸出變量oTemp的值,檢驗是不是undefined。16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型ECMAS16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型2.Null類型Null類型只有一個值null。值undefined實際上是從null派生來的,因此ECMAScript把它們定義為相等的。如:alert(null==undefined); //輸出true盡管這兩個值相等,但含義不同。undefined是聲明了變量但未對其初始化時賦予變量的值,null則用于表示尚未聲明的變量。16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型2.Nu16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型3.Boolean類型Boolean類型有兩個值true和false。4.Number類型Number類型既可以表示32位整數(shù),也可以表示64位的浮點數(shù),直接輸入的任何數(shù)字都被看做Number類型。如下面代碼聲明了存放整數(shù)值的變量:variNum=86;16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型3.Bo16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型八進制數(shù)和十六進制數(shù)整數(shù)也可以表示為八進制或十六進制,八進制的首數(shù)字必須是0,其后的數(shù)字可以是任何八進制數(shù)字(0-7),如:variNum=070;//070等于十進制56十六進制的前二位數(shù)字必須為0x,然后是任意的十六進制數(shù)字(0到9和A到F),字母不區(qū)分大小寫。如:variNum=0x1f;//0x1f等于十進制的31所有數(shù)學運算返回的結(jié)果都是十進制。16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型八進制數(shù)和16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型浮點數(shù)浮點值必須包括小數(shù)點和小數(shù)點后的一位數(shù)字。如:varfNum=5.0;科學計數(shù)法對于非常大或非常小的數(shù),可以用科學計數(shù)法表示浮點數(shù),即把一個數(shù)表示為數(shù)字(包括十進制數(shù)字)加e(或E),后面加乘以10的倍數(shù)。如:varfNum=5.618e7把科學計數(shù)法轉(zhuǎn)化成計算式就可以得到該值:5.618x107=56180000。非常小的數(shù)常常用科學計數(shù)法表示,如0.00000000000000008可以表示為8-e17。ECMAScript默認把6個或6個以上前導0的浮點數(shù)轉(zhuǎn)換成科學計數(shù)法。16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型浮點數(shù)16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型特殊Number值NaN是一個特殊值,表示非數(shù)(NotaNumber)。一般這種情況發(fā)生在數(shù)據(jù)類型轉(zhuǎn)換失敗時。如把單詞blue轉(zhuǎn)換成數(shù)值就會失敗,因為沒有與之等價的數(shù)值。NaN不能用于算術(shù)計算。函數(shù)isNaN()能夠判斷一個數(shù)是不是非數(shù)。document.write(isNaN("測試"));//輸出truedocument.write(isNaN("666"));//輸出false16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型特殊Num16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型5.String類型String類型是沒有固定大小的數(shù)據(jù)類型,可以用字符串存儲零或更多的字符。字符串中每個字符都有特定的位置,首字符從位置0開始,第二個字符在位置1,依此類推。字符串最后一個字符的位置一定是字符串的長度減1。字符串必須由雙引號(")或單引號(')括起來聲明。如:varsColor1="red";varsColor2='red';16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型5.St16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型使用反斜杠可以向字符串添加如換行符、引號和其他特殊字符。常用的特殊字符。字面量含義字面量含義\n換行\(zhòng)f換頁符\t制表符\\反斜杠\b空格\'單引號\r回車\"雙引號16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型使用反斜杠16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型可以使用typeof運算符來判斷一個值的基本數(shù)據(jù)類型,typeof運算符有一個參數(shù),即要檢查的變量或值。如:varsTemp="測試";document.write(typeofsTemp);//輸出"string"typeof運算符將返回下列值之一:undefined:如果變量是Undefined類型的。boolean:如果變量是Boolean類型的。number:如果變量是Number類型的。string:如果變量是String類型的。object:如果變量是引用類型或Null類型的。16.2ECMAScript基礎(chǔ)——基本數(shù)據(jù)類型可以使用t16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換1.轉(zhuǎn)換成字符串基礎(chǔ)數(shù)據(jù)類型Boolean和Number都有toString()方法,可以把它們的值轉(zhuǎn)換成字符串。Boolean類型的toString()方法只能輸出“true”或“false”,結(jié)果由變量的值決定。如:varbFound=false;document.write(bFound.toString());//輸出false16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換1.轉(zhuǎn)換成字16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換Number類型的toString()方法有兩種模式:默認模式和基模式。在默認模式中,無論最初采用什么表示法聲明數(shù)字,toString()返回的都是數(shù)字的十進制表示。如:variNum=10;varfNum=10.0;document.write(iNum.toString()); //輸出10document.write(fNum.toString()); //輸出1016.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換Number類16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換基模式可以用不同的基輸出數(shù)字,二進制的基是2,八進制的基是8,十六進制的基是16,基是toString()方法的參數(shù)。如:variNum=10;document.write(iNum.toString(2)); //輸出1010document.write(iNum.toString(8)); //輸出12document.write(iNum.toString(16));//輸出A16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換基模式可以用不16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換2.轉(zhuǎn)換成數(shù)字ECMAScript提供了兩種把非數(shù)字的原始值轉(zhuǎn)換成數(shù)字的方法parseInt()和parseFloat()。前者把值轉(zhuǎn)換成整數(shù),后者把值轉(zhuǎn)換成浮點數(shù)。只有對String類型調(diào)用這些方法才能正確運行,其他類型調(diào)用返回的值是NaN。16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換2.轉(zhuǎn)換成數(shù)16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換parseInt()parseInt()方法首先查看位置0處的字符,判斷它是否是個有效數(shù)字,如果不是,返回NaN,不再繼續(xù)執(zhí)行其他操作。但如果該字符是有效數(shù)字,該方法將查看位置1處的字符,進行同樣的測試。這一過程持續(xù)到發(fā)現(xiàn)非有效數(shù)字的字符為止,parseInt()將把該字符之前的字符串轉(zhuǎn)換成數(shù)字。如:variNum=parseInt("12345red"); //返回12345variNum=parseInt("0xA"); //返回10variNum=parseInt("56.9"); //返回56variNum=parseInt("red"); //返回NaN16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換parseIn16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換parseFloat()parseFloat()方法與parseInt()方法的處理方式相似,從位置0開始查看每個字符,直到找到第一個非有效的字符為止,然后把該字符之前的字符串轉(zhuǎn)換成整數(shù)。parseFloat()方法規(guī)定第一個出現(xiàn)的小數(shù)點是有效字符,如果有多個小數(shù)點,從第二個小數(shù)點起將被看作是無效的,parseFloat()會把第二個小數(shù)點之前的字符轉(zhuǎn)換成數(shù)字。如:varfNum=parseFloat("12345red");//返回12345varfNum=parseFloat("11.2"); //返回11.2varfNum=parseFloat("11.22.33"); //返回11.22varfNum=parseFloat("red"); //返回NaN16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換parseFl16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換3.強制類型轉(zhuǎn)換可以使用強制類型轉(zhuǎn)換(typecasting)來處理轉(zhuǎn)換值的類型,ECMAScript中可以使用3種強制類型轉(zhuǎn)換:Boolean(value):把給定的值轉(zhuǎn)換成Boolean型;Number(value):把給定的值轉(zhuǎn)換成數(shù)字(可以是整數(shù)或浮點數(shù));String(value):把給定的值轉(zhuǎn)換成字符串;16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換3.強制類型16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換Boolean()函數(shù)當要轉(zhuǎn)換的值至少有一個字符的字符串、非0數(shù)字或?qū)ο髸r,Boolean()函數(shù)將返回true。如果該值是空字符串、數(shù)字0、undefined或null,將返回false。如:varbBoolean=Boolean("hello");//返回true-非空字符串varbBoolean=Boolean(50);//返回true-非零數(shù)字varbBoolean=Boolean(null);//返回false-nullvarbBoolean=Boolean(0);//返回false-零varbBoolean=Boolean("");//返回false-空字符串16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換Boolean16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換Number()函數(shù)Number()函數(shù)與parseInt()和parseFloat()方法相似,但它轉(zhuǎn)換的是整個值,而不是部分值。parseInt()和parseFloat()方法只轉(zhuǎn)換第一個無效字符之前的字符串,因此“1.2.3”將分別被轉(zhuǎn)換為“1”和“1.2”。用Number()進行強制類型轉(zhuǎn)換“1.2.3”將返回NaN,因為整個字符串值不能轉(zhuǎn)換成數(shù)字。16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換Number(16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換不同值調(diào)用Number()方法結(jié)果表。用法結(jié)果Number(false)0Number(true)1Number(undefined)NaNNumber(null)0Number("1.2")1.2Number("12")12Number(50)5016.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換不同值調(diào)用Nu16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換String()函數(shù)String()強制類型轉(zhuǎn)換可把任何值轉(zhuǎn)換成字符串。String()與toString()方法唯一不同的是對null和undefined值強制類型轉(zhuǎn)換可以生成字符串而不引發(fā)錯誤。如:varsTest=String(null); //返回"null"varoNull=null;varsTest=oNull.toString(); //會引發(fā)"oNullisnull"錯誤16.2ECMAScript基礎(chǔ)——類型轉(zhuǎn)換String(16.3ECMAScript運算符——一元運算符一元運算符只有一個參數(shù),即要操作的對象或值。1.voidvoid運算符對任何值都返回undefined。16.3ECMAScript運算符——一元運算符一元運算符16.3ECMAScript運算符——一元運算符2.前增量/前減量運算符所謂前增量運算符,就是在數(shù)值類型變量原值基礎(chǔ)上加1,形式是在變量前放兩個加號(++)。variNum=10;++iNum;第二行代碼把iNum值增加到了11,實質(zhì)上等價于variNum=10;iNum=iNum+1;前減量運算符是在數(shù)值類型變量原值基礎(chǔ)上減1,形式是在變量前放兩個減號(--)。如:variNum=10;--iNum;16.3ECMAScript運算符——一元運算符2.前增16.3ECMAScript運算符——一元運算符在算術(shù)表達式中,前增量和前減量運算符的優(yōu)先級是相同的,因此要按照從左到右的順序計算,無論是前增量還是前減量運算符都發(fā)生在計算表達式之前。例如:variNum1=2;variNum2=20;variNum3=--iNum1+++iNum2; //等于22variNum4=iNum1+iNum2; //等于22iNum3等于22,因為表達式要計算的是1+21。變量iNum4也等于22,也是1+21。16.3ECMAScript運算符——一元運算符在算術(shù)表達16.3ECMAScript運算符——一元運算符3.后增量/后減量運算符后增量運算符也是給數(shù)值類型變量在原值基礎(chǔ)上加1,形式是在變量后放兩個加號(++)。如:variNum=10;iNum++;后減量運算符也是從數(shù)值類型變量在原值基礎(chǔ)上減1,形式為在變量后加兩個減號(--)。如:variNum=10;iNum--;16.3ECMAScript運算符——一元運算符3.后增16.3ECMAScript運算符——一元運算符與前增量和前減量運算符不同的是,后增量和后減量運算符是在計算過包含它們的表達式后才進行增量或減量運算的。考慮以下的例子:variNum=10;iNum--;document.write(iNum); //輸出9document.write(iNum--); //輸出9document.write(iNum); //輸出8第四行代碼輸出iNum--的值,由于減量運算發(fā)生在計算過表達式之后,所以輸出的數(shù)是"9"。第五行代碼輸出是"8",因為在執(zhí)行第四行代碼之后和執(zhí)行第五行代碼之前,執(zhí)行了后減量運算。16.3ECMAScript運算符——一元運算符與前增量和16.3ECMAScript運算符——一元運算符在算術(shù)表達式中,后增量和后減量運算符的優(yōu)先級是相同的,要按照從左到右的順序計算。如:variNum1=2;variNum2=20;variNum3=iNum1--+iNum2++; //等于22variNum4=iNum1+iNum2; //等于22iNum3等于22,因為表達式要計算的是2+20。變量iNum4也等于22,不過計算的是1+21,因為增量和減量運算都在給iNum3賦值后才發(fā)生。16.3ECMAScript運算符——一元運算符在算術(shù)表達16.3ECMAScript運算符——一元運算符4.一元加法和一元減法一元加法本質(zhì)上對數(shù)字無任何影響。一元減法就是對數(shù)值求負。如:variNum=20;iNum=-iNum;document.write(iNum); //輸出-2016.3ECMAScript運算符——一元運算符4.一元16.3ECMAScript運算符——算術(shù)運算符算術(shù)運算符用于執(zhí)行變量之間的算術(shù)運算。運算符描述+加-減*乘/除%求余數(shù)(保留整數(shù))16.3ECMAScript運算符——算術(shù)運算符算術(shù)運算符16.3ECMAScript運算符——算術(shù)運算符1.加法運算符加法運算符用加號(+)表示。如果某個運算數(shù)是字符串,那么采用下列規(guī)則:如果兩個運算數(shù)都是字符串,把第二個字符串連接到第一個上。
如果只有一個運算數(shù)是字符串,則把另一個運算數(shù)轉(zhuǎn)換成字符串,結(jié)果是兩個字符串連接成的字符串。如:variResult=5+5; //兩個數(shù)字document.write(iResult); //輸出10varsResult=5+"5"; //一個數(shù)字和一個字符串document.write(sResult); //輸出"55"16.3ECMAScript運算符——算術(shù)運算符1.加法16.3ECMAScript運算符——算術(shù)運算符2.減法運算符減法運算符用減號(-)表示。如果運算符不是數(shù)字,那么結(jié)果為NaN,如果運算數(shù)都是數(shù)字,那么執(zhí)行常規(guī)的減法運算,并返回結(jié)果。3.乘法運算符乘法運算符用星號(*)表示,用于兩數(shù)相乘。如果運算數(shù)是數(shù)字,那么執(zhí)行常規(guī)的乘法運算,即兩個正數(shù)或兩個負數(shù)為正數(shù),兩個運算數(shù)符號不同,結(jié)果為負數(shù)。如果某個運算數(shù)是NaN,結(jié)果為NaN。16.3ECMAScript運算符——算術(shù)運算符2.減法16.3ECMAScript運算符——算術(shù)運算符4.除法運算符除法運算符用斜杠(/)表示,用第二個運算數(shù)除第一個運算數(shù)。如果運算數(shù)是數(shù)字,那么執(zhí)行常規(guī)的除法運算,即兩個正數(shù)或兩個負數(shù)為正數(shù),兩個運算數(shù)符號不同,結(jié)果為負數(shù)。如果某個運算數(shù)是NaN,結(jié)果為NaN。0除一個任何非無窮大的數(shù)字,結(jié)果為NaN。16.3ECMAScript運算符——算術(shù)運算符4.除法16.3ECMAScript運算符——算術(shù)運算符5.取模運算符取模(余數(shù))運算符用百分號(%)表示。如:variResult=26%5; //等于1如果運算數(shù)是數(shù)字,那么執(zhí)行常規(guī)的算術(shù)除法運算,返回除法運算得到的余數(shù)。如果被除數(shù)為0,結(jié)果為0。16.3ECMAScript運算符——算術(shù)運算符5.取模16.3ECMAScript運算符——關(guān)系運算符關(guān)系運算符執(zhí)行的是比較運算。每個關(guān)系運算符都返回一個Boolean值。運算符描述==等于===全等(值和類型)!=不等于>
大于<
小于>=大于或等于<=小于或等于16.3ECMAScript運算符——關(guān)系運算符關(guān)系運算符16.3ECMAScript運算符——關(guān)系運算符1.常規(guī)比較方式關(guān)系運算符小于、大于、小于等于和大于等于執(zhí)行的是兩個數(shù)的比較運算,比較方式與算術(shù)比較運算相同。每個關(guān)系運算符都返回一個Boolean值。如:varbResult1=2>1 //返回truevarbResult2=2<1 //返回false16.3ECMAScript運算符——關(guān)系運算符1.常規(guī)16.3ECMAScript運算符——關(guān)系運算符對于字符串,第一個字符串中每個字符的代碼都與會第二個字符串中對應(yīng)位置的字符的代碼進行數(shù)值比較。完成這種比較操作后,返回一個Boolean值。大寫字母的代碼小于小寫字母的代碼,如:varbResult="Blue"<"alpha";document.write(bResult); //輸出true16.3ECMAScript運算符——關(guān)系運算符對于字符串16.3ECMAScript運算符——關(guān)系運算符要強制性得到按照真正的字母順序比較的結(jié)果,必須把兩個字符轉(zhuǎn)換成相同的大小寫形式,然后再進行比較。如:varbResult="Blue".toLowerCase()<"alpha".toLowerCase();document.write(bResult); //輸出false16.3ECMAScript運算符——關(guān)系運算符要強制性得16.3ECMAScript運算符——關(guān)系運算符2.比較數(shù)字和字符串無論何時比較一個數(shù)字和一個字符串,ECMAScript都會把字符串轉(zhuǎn)換成數(shù)字,然后按照數(shù)字順序比較它們。如:varbResult="25"<3;document.write(bResult); //輸出false字符串“25”將被轉(zhuǎn)換成數(shù)字25,然后與數(shù)字3進行比較。任何包含NaN的關(guān)系運算符都要返回false。varbResult="a">=3;document.write(bResult); //輸出false16.3ECMAScript運算符——關(guān)系運算符2.比較16.3ECMAScript運算符——關(guān)系運算符3.等于和不等于等于用雙等號(==)表示,當且僅當兩個運算數(shù)相等時,返回true。不等于用感嘆號加等號(!=)表示,當且僅當兩個運算數(shù)不相等時,返回true。為確定兩個運算數(shù)是否相等,這兩個運算符都會進行類型轉(zhuǎn)換。執(zhí)行類型轉(zhuǎn)換的規(guī)則如下:16.3ECMAScript運算符——關(guān)系運算符3.等于16.3ECMAScript運算符——關(guān)系運算符如果一個運算數(shù)是Boolean值,在檢查相等性之前轉(zhuǎn)換成數(shù)字。其中值false為0,true為1。如果一個運算數(shù)是字符串,另一個是數(shù)字,在檢查相等性之前嘗試把字符串轉(zhuǎn)換成數(shù)字。如果一個運算數(shù)是對象,另一個是字符串,在檢查相等性之前嘗試把對象轉(zhuǎn)換成字符串。如果一個運算數(shù)是對象,另一個是數(shù)字,在檢查相等性之前嘗試把對象轉(zhuǎn)換成數(shù)字。16.3ECMAScript運算符——關(guān)系運算符如果一個運16.3ECMAScript運算符——關(guān)系運算符在比較時,遵守下列規(guī)則:值null和undefined相等。在檢查相等性時,不能把null和undefined轉(zhuǎn)換成其他值。如果某個運算數(shù)是NaN,等于返回false,不等于返回true。如果兩個數(shù)都是NaN,等于返回false,因為根據(jù)規(guī)則,NaN不等于NaN。16.3ECMAScript運算符——關(guān)系運算符在比較時,16.3ECMAScript運算符——關(guān)系運算符4.全等和非全等全等用三個等號表示(===),非全等用感嘆號加兩個等號(!==)表示,在檢查相等性前,不執(zhí)行類型轉(zhuǎn)換,只有在無需類型轉(zhuǎn)換運算數(shù)就相等的情況下,才返回true。如:varsNum="66";variNum=66;document.write(sNum==iNum); //輸出truedocument.write(sNum===iNum); //輸出false16.3ECMAScript運算符——關(guān)系運算符4.全等16.3ECMAScript運算符——邏輯運算符邏輯運算符。運算符描述&&and||or!not16.3ECMAScript運算符——邏輯運算符邏輯運算符16.3ECMAScript運算符——邏輯運算符1.NOT運算符NOT運算符用感嘆號(!)表示,NOT運算返回的是Boolean值。NOT運算的行為如下:如果運算數(shù)是對象,返回false。如果運算數(shù)是數(shù)字0,返回true。如果運算數(shù)是0以外的任何數(shù)字,返回false。如果運算數(shù)是null,返回true。如果運算數(shù)是NaN,返回true。如果運算數(shù)是undefined,發(fā)生錯誤。16.3ECMAScript運算符——邏輯運算符1.NO16.3ECMAScript運算符——邏輯運算符2.AND
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度工程項目承包保證人擔保承諾書范本6篇
- LED廣告車2024年租賃合同范本2篇
- 2025年度鄰里社區(qū)共筑住宅項目綠化養(yǎng)護協(xié)議3篇
- 2025年度生態(tài)農(nóng)業(yè)地產(chǎn)合作開發(fā)合同書
- 二零二五年度出租車座套定制與品牌推廣合同3篇
- 二零二五版電力設(shè)備質(zhì)檢員招聘與職責協(xié)議書3篇
- 個性化倉儲解決方案服務(wù)外包協(xié)議范本版A版
- 2025年度企業(yè)員工心理健康培訓服務(wù)合同范本8篇
- 中美洲2024年原材料供應(yīng)協(xié)議
- 養(yǎng)殖場動物疫病防治服務(wù)合同(2025年度)3篇
- AQ-T 1009-2021礦山救護隊標準化考核規(guī)范
- 鹽酸??颂婺崤R床療效、不良反應(yīng)與藥代動力學的相關(guān)性分析的開題報告
- 消防設(shè)施安全檢查表
- 組合結(jié)構(gòu)設(shè)計原理 第2版 課件 第6、7章 鋼-混凝土組合梁、鋼-混凝土組合剪力墻
- 建筑公司資質(zhì)常識培訓課件
- 旅居管家策劃方案
- GB/T 26316-2023市場、民意和社會調(diào)查(包括洞察與數(shù)據(jù)分析)術(shù)語和服務(wù)要求
- 春節(jié)值班安全教育培訓
- 帶狀皰疹護理查房
- 平衡計分卡-化戰(zhàn)略為行動
- 幼兒園小班下學期期末家長會PPT模板
評論
0/150
提交評論