我發現了一段代碼在我公司的項目如下所示:這個語法是什麼意思,它喜歡`functionName:{}`?
while(condition){
code...
reloop: {
if(somethingIsTrue) {
break reloop;
}
}
code...
}
我不明白是什麼reloop
做,任何人都可以給出一個簡單的解釋?
我發現了一段代碼在我公司的項目如下所示:這個語法是什麼意思,它喜歡`functionName:{}`?
while(condition){
code...
reloop: {
if(somethingIsTrue) {
break reloop;
}
}
code...
}
我不明白是什麼reloop
做,任何人都可以給出一個簡單的解釋?
reloop:
是一個label
。他們很少使用,並提供了一個非常特定的目的:他們讓你break
或continue
外環從內環。
MDN about labels上的文章更好地解釋了這一點。
注意標籤很少使用,並且大部分時間需要一個標籤,提示你的代碼是不明確的,應該進行重組。我從來沒有,甚至沒有使用javascript
中的標籤。
避免它們,除非它們真的是唯一的清晰解決方案,這些解決方案經證明難以編寫。相反,首選將代碼拆分爲您可以從return
開始的功能。
reloop
是塊的標籤。 break
命令脫離了標記的塊。
例如見https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/break
這是一個標籤:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label –
...和'break'允許您打破標籤:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/break – Jamiec
它也是一個Goto的JavaScript等價物......恐怖的壞(恕我直言) –