摘要:如果每個循環正常執行次,則語句就會正常執行次。但內部循環中的語句帶了一個參數要返回到的標簽。
最近在閱讀《JavaScript高級程序設計第3版》的過程中,看到了label語句的使用,因為之前沒使用過,覺得有必要學習一下,特此記錄。
label語句是ECMA中定義的語句,因此不存在兼容性的問題,使用label語句是為了給代碼添加標簽,方便將來使用,語法如下:
label: statement //下面是一個示例: start: for (var i=0; i < count; i++) { alert(i); }
label語句可以與break 和 continue 語句聯合使用,從而返回代碼中特定的位置。這種聯合使用的情況多發生在循環嵌套的情況下:
var num = 0; outermost: for (var i=0; i < 10; i++) { for (var j=0; j < 10; j++) { if (i == 5 && j == 5) { break outermost; } num++; } } alert(num); //55
在這個例子中,outermost 標簽表示外部的 for 語句。如果每個循環正常執行 10 次,則 num++ 語句就會正常執行 100次。換句話說,如果兩個循環都自然結束,num 的值應該是 100。但內部循環中 的 break語句帶了一個參數:要返回到的標簽。添加這個標簽的結果將導致 break 語句不僅會退出內 部的 for 語句(即使用變量 j的循環),而且也會退出外部的 for 語句(即使用變量 i 的循環)。為此, 當變量 i 和 j 都等于 5 時,num 的值正好是55。同樣,continue 語句也可以像這樣與 label 語句聯 用,如下面的例子所示:
var num = 0; outermost: for (var i=0; i < 10; i++) { for (var j=0; j < 10; j++) { if (i == 5 && j == 5) { continue outermost; } num++; } } alert(num); //95
在這種情況下,continue 語句會強制繼續執行循環——退出內部循環,執行外部循環。當 j 是 5 時,continue 語句執行,而這也就意味著內部循環少執行了 5 次,因此 num 的結果是 95。
雖然聯用 break、continue 和 label 語句能夠執行復雜的操作,但如果使用過度,也會給調試 帶來麻煩。在此,我們建議如果使用 label 語句,一定要使用描述性的標簽,同時不要嵌套過多的循環。
----來源《JavaScript高級程序設計第3版》
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/93750.html
摘要:前言基本上,我們每天都在和中的各種語句進行著溝通,那些我們經常見面的老朋友,或者是未曾見面的新朋友,它們共同維護著的流程,讓我們的程序穩步運行。 前言 基本上,我們每天都在和 JavaScript 中的各種語句進行著 溝通 ,那些我們經常見面的 老朋友,或者是未曾見面的 新朋友 ,它們共同維護著 JavaScript 的流程,讓我們的程序穩步運行。那么,你是否對它們足夠了解呢 如果文章...
摘要:會自動調用轉換函數將這個表達式的結果轉換為一個布爾值。語句語句與語句的關系最為密切,而且也是在其他語言中普遍使用的一種流控制語句。 表達式在 JavaScript 中是短語,那么語句就是整句命令。表達式用來計算出一個值,語句用來執行以使某件事發生。從本質上看,語句定義了 JavaScript 中的主要語法,語句通常使用一或多個關鍵字來完成給定任務。語句可以很簡單,例如通知函數退出;也可...
摘要:表達式用來計算出一個值,語句用來執行以使某件事發生。其中,語句會立即退出循環,強制繼續執行循環后面的語句。在執行語句之后,結果顯示。語句語句的作用是指定函數調用后的返回值。語句語句的作用是把程序運行時產生的錯誤顯式地拋出異常。 表達式在 JavaScript 中是短語,那么語句就是整句命令。表達式用來計算出一個值,語句用來執行以使某件事發生。從本質上看,語句定義了 JavaScript...
摘要:上面這段代碼,在中的執行結果是什么呢大家思考分鐘好,分鐘已過,大家有結果了嗎千萬不要在瀏覽器的控制臺中去寫這段代碼,雖然結果和你開始想的結果一樣,但是,它是錯誤的。這是在控制臺中執行的結果這是在中的執行結果可以看到兩個結果是不一樣的。 1. 引言 假設有這么一道題: for (var i = 0; i < 10; i++) { console.log(i); for (...
摘要:因為阻止了默認行為的幾個常見用法取消默認行為參照上例鏈式編程閉包之后章節詳細講解和語句和語句用于在循環中精確地控制代碼的執行。其中,語句會立即退出循環,強制繼續執行循環后面的語句。只能結束循環中的一次過程但不能終止循環繼續進行。 return 語句 return語句的幾個特點:(1)return語句應用范圍只能出現在函數體內,出現在代碼中的其他任何地方都會造成語法錯誤(2)return...
閱讀 867·2021-11-15 11:37
閱讀 3604·2021-11-11 16:55
閱讀 3270·2021-11-11 11:01
閱讀 999·2019-08-30 15:43
閱讀 2743·2019-08-30 14:12
閱讀 681·2019-08-30 12:58
閱讀 3389·2019-08-29 15:19
閱讀 2025·2019-08-29 13:59