JavaScript label语句
使用label 語句可以在代碼中添加標(biāo)簽,以便將來使用。
以下是label 語句的語法:
label: statement下面是一個示例:
start: for (var i=0; i < count; i++) {alert(i); }?
這個例子中定義的start 標(biāo)簽可以在將來由break 或continue 語句引用。
加標(biāo)簽的語句一般都要與for 語句等循環(huán)語句配合使用。
Break
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標(biāo)簽表示外部的for 語句。如果每個循環(huán)正常執(zhí)行10 次,則num++語句就會正常執(zhí)行100 次。
換句話說,如果兩個循環(huán)都自然結(jié)束,num的值應(yīng)該是100。但內(nèi)部循環(huán)中的break 語句帶了一個參數(shù):要返回到的標(biāo)簽。
添加這個標(biāo)簽的結(jié)果將導(dǎo)致break 語句不僅會退出內(nèi)部的for語句(即使用變量j 的循環(huán)),而且也會退出外部的for 語句(即使用變量i 的循環(huán))。為此, 當(dāng)變量i和j都等于5 時,num的值正好是55。
Continue
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 語句會強(qiáng)制繼續(xù)執(zhí)行循環(huán)——退出內(nèi)部循環(huán),執(zhí)行外部循環(huán)。當(dāng)j 是5 時,continue 語句執(zhí)行,而這也就意味著內(nèi)部循環(huán)少執(zhí)行了5 次,因此num的結(jié)果是95。
雖然聯(lián)用break、continue和label語句能夠執(zhí)行復(fù)雜的操作,但如果使用過度,也會給調(diào)試 帶來麻煩。在此,我們建議如果使用label語句,一定要使用描述性的標(biāo)簽,同時不要嵌套過多的循環(huán)。?
摘自:《JavaScript高級程序設(shè)計(jì)(第三版)》
轉(zhuǎn)載于:https://www.cnblogs.com/ljwTiey/p/7387838.html
總結(jié)
以上是生活随笔為你收集整理的JavaScript label语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 6143 Killer Name
- 下一篇: JS事件冒泡机制和兼容性添加事件