深化理解ECMAScript的幾個關(guān)鍵語句__第1頁
深化理解ECMAScript的幾個關(guān)鍵語句__第2頁
深化理解ECMAScript的幾個關(guān)鍵語句__第3頁
深化理解ECMAScript的幾個關(guān)鍵語句__第4頁
深化理解ECMAScript的幾個關(guān)鍵語句__第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、深化理解ECMAScript的幾個關(guān)鍵語句_ 下面我就為大家?guī)硪黄罨斫釫CMAScript的幾個關(guān)鍵語句。我覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。 寫在前面 在這一章中我們聊一聊ECMAScript中的幾個關(guān)鍵語句switch、for-in、label等語句,加深我們對它們的理解和認識。首先從最常見的說起。 while和for while和for是很常規(guī)的語句,無論是在JavaScript還是C還是其他編程語言中。而且在編程中我們較常用的也是for,for用起來更敏捷,更簡潔,所以有些人可能就會產(chǎn)生這樣一種誤會: for比while更強大,能做到while做不到的一些事情。

2、其實我們略微想想while和for語句的語法應(yīng)用,我們就會發(fā)覺: while循環(huán)做不到的for循環(huán)也做不到。 這是由于for循環(huán)只是把while循環(huán)有關(guān)的代碼集中在了一起而已,其實有些時候,用while循環(huán)比用for循環(huán)更簡潔。這也是各司其職各有利弊吧。 關(guān)于循環(huán)的另一點,我們先看一段代碼: for(i=0;i5;i+) console.log(i); console.log(i); 在循環(huán)外打印i,打印輸出是5。 可以看到,在循環(huán)內(nèi)部定義的變量在外部也是可以訪問的。在一些語言中比如C,大括號定義的是塊級作用域,但是在ECMAScript中是沒有塊級作用域這個概念的,所以在循環(huán)內(nèi)部定義的變量在

3、外部也是可以訪問的。 switch語句 在其他編程語言中比如C,switch語句只能用法數(shù)字,而在ECMAScript中,switch語句可以用法任何數(shù)據(jù)類型,像字符串、對象都是可以的。 這里有一點需要說明:switch語句比較的時候用法的全等操作符,即=,所以10和10不相等,由于在進行全等比較的時候,并不發(fā)生類型轉(zhuǎn)換。 for-in語句 for-in語句是一種精確性的迭代語句,可以用來遍歷對象的屬性,當然也可以迭代數(shù)組的屬性。下面分別以例子說明: for-in遍歷對象 window 先遍歷一個特別的對象window: for(var i in window) console.log(i);

4、 會打印出一串很長很長的屬性列表,大家可自行查看,在此不一一排列贅述。 自定義對象 遍歷自定義對象 var o=prop1:value1, prop2:value2, prop3:value3; for (var i in o) console.log(i); 打印出prop1 prop2 prop3。 數(shù)組 遍歷數(shù)組 var array1=1,2,3,4; for(var i in array) console.log(i); 打印輸出1 2 3 4。 with語句 with語句可以用來限制作用域,即可以將代碼的作用域設(shè)置到一個特定的對象中。如下: var hostname=location

5、.hostname; var url=location.href; 這兩句分別獵取hostname和url,由于它們共用location(同一個對象下的屬性),所以我們可以將作用域限定在location中,即用with語句關(guān)聯(lián)location對象。如下: with(location) var hostname=hostname; var url=href; 需要留意的是:嚴格模式下用法with語句會有語法錯誤,同時,大量用法with語句會導致性能下降,同時也會給調(diào)試帶來肯定的困難,所以在開發(fā)應(yīng)用程序的時候,尤其是開發(fā)大型應(yīng)用程序的時候,并不建議用法with語句。 label語句 label語句

6、用來在代碼中加標簽,從而可以在以后來用法它。一般狀況下,加標簽的語句要和for循環(huán)等循環(huán)語句配合來用法。 它的語法是: label: statement 下面給出代碼具體來看看label標簽的用法。 1、先給出一段基本的代碼: var num=0; for(var i=0;i10;i+) for(var j=0;j10;j+) if(i=5j=5) break; num+; console.log(num); 說明:break跳出了處在內(nèi)部的for循環(huán),j剩下的5次循環(huán)不再執(zhí)行,所以打印的結(jié)果是95。 2、接下來我們將break換成continue: var num=0; for(var i=

7、0;i10;i+) for(var j=0;j10;j+) if(i=5j=5) break; num+; console.log(num); 說明:continue跳出了本次循環(huán),就是說跳出了處在內(nèi)部for循環(huán)的這一次循環(huán),所以打印的結(jié)果是99。 3、接下來我們加上一個名為outer的label標簽再分別看打印結(jié)果: var num=0; outer: for(var i=0;i10;i+) for(var j=0;j10;j+) if(i=5j=5) break outer; num+; console.log(num); 說明:加上了標簽以后,用break跳到了標簽outer處,就是說程

8、序跳出了外循環(huán),即程序執(zhí)行到了i=5且j=5時停止執(zhí)行,所以打印的結(jié)果是55。 4、我們再換成continue看看: var num=0; outer: for(var i=0;i10;i+) for(var j=0;j10;j+) if(i=5j=5) continue outer; num+; console.log(num); 說明:這一次用的是continue,所以當程序執(zhí)行到i=5且j=5時并沒有跳出外循環(huán),而只是跳出了內(nèi)循環(huán),即剩下的5次不予執(zhí)行,所以打印的結(jié)果是95。 放在一起這幾個顯得略微有些混淆,多理解理解就會好許多。 小結(jié) 我們學習一門東西不是為學而學,是為用而學,說白了就是為了工作而學,所以單純理解上面的東西不是最重要

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論