我在这里写了一个小的JS代码。哪个运行没有任何错误
repeat:
while(true){
console.log('Start');
break repeat;
console.log('End');
}
但是当我不使用while语句时,程序将引发错误Undefined label repeat
repeat:
console.log('Start');
break repeat;
console.log('End');
为什么程序会抛出该错误?标签仅用于循环吗?
答案 0 :(得分:6)
基本上,它与代码blocks一起使用。而且,尽管没有任何要中断的块,但是代码会引发错误。
repeat: {
console.log('Start');
break repeat;
console.log('End');
}
答案 1 :(得分:-1)
此外,“这种构造基本上是function getConfigDetails() {
return new Promise(function(resolve, reject){
var ticker = setInterval(function(){
if ($rootScope.isconfigloaded) {
//the other stuff
clearInterval(ticker);
resolve();
}
}, 200);
});
的拖拽。”我希望看到用goto
语句编写的逻辑,如下所示:
continue
我的观点是“它仍然是一个while (true) {
console.log('start');
if (x == y) continue;
console.log('foo');
if (q != z) continue;
...
}
循环,正如我所说的那样,”它并不总是到达终点。当它没有到达终点时,它总是回到顶部。
在while
情况下,break
语句是最常见的,并且实际上,其他任何读取您的代码的人都希望使用它。该逻辑一直运行到满足某些条件为止,这时它会“跳出循环”并转到其后的语句。
当您“ while (true)
像break
一样时,您的逻辑变得更加难以理解和理解。这是一个非常重要的考虑因素。 “以一种通常期望的方式简单明了地编写。不要投掷曲线球。”