javascript中关于break,continue的特殊用法与介绍
作者:
javascript大家所熟知中的for是一个循环体,循环体其中的break和continue也是大家都比较熟悉的功能,相信大家对它们的用法不会陌生,本文不是介绍其功能,本文假设你已经熟悉break和continue的语意和用法
今天在研究某系统时发现其代码有这样一个结构(已简化):
var result = false;
point:
{
var obj = { key: 1 };
for (var key in obj) {
// ...
break point;
}
result = true;
}
alert(result);
咋看一下以为是代码错误,甚至于Visual Studio对此代码没办法进行正确的格式化。可是又仔细一看语意还是很清晰的,也就是从for循环内部break到指定的point这个位置,而且此系统不应该犯这样的错误的。因为自己没有这样使用过,遂进行了一番测试,测试结果果然是自己学术不精啊。。。这是javascript既有的语法,break是可带位置标签的,查阅相关文档发现continue一样也是可以带位置标签的。
他们的的语法分别为:
break [label];
continue [label];
我们知道在循环体当中break只能跳出当前循环,而当break带上了标签,就能随意跳到某位置,可轻松的跳出多重循环,此外switch中的break也是一样可以这样使用。
参考文档:
https://developer.mozilla.org/en/JavaScript/Reference/Statements/break
https://www.jb51.net/w3school/js/pro_js_statements_break_continue.htm
复制代码 代码如下:
var result = false;
point:
{
var obj = { key: 1 };
for (var key in obj) {
// ...
break point;
}
result = true;
}
alert(result);
咋看一下以为是代码错误,甚至于Visual Studio对此代码没办法进行正确的格式化。可是又仔细一看语意还是很清晰的,也就是从for循环内部break到指定的point这个位置,而且此系统不应该犯这样的错误的。因为自己没有这样使用过,遂进行了一番测试,测试结果果然是自己学术不精啊。。。这是javascript既有的语法,break是可带位置标签的,查阅相关文档发现continue一样也是可以带位置标签的。
他们的的语法分别为:
break [label];
continue [label];
我们知道在循环体当中break只能跳出当前循环,而当break带上了标签,就能随意跳到某位置,可轻松的跳出多重循环,此外switch中的break也是一样可以这样使用。
参考文档:
https://developer.mozilla.org/en/JavaScript/Reference/Statements/break
https://www.jb51.net/w3school/js/pro_js_statements_break_continue.htm
您可能感兴趣的文章:
- JavaScript跳出循环的三种方法(break, return, continue)
- 浅析JavaScript中break、continue和return的区别
- javascript中break,continue和return语句用法小结
- javaScript如何跳出多重循环break、continue
- JavaScript Break 和 Continue区别教程
- Javascript基础教程之break和continue语句
- js中return false(阻止)的用法
- Javascript中的return作用及javascript return关键字用法详解
- javascript中return,return true,return false三者的用法及区别
- JS中实现函数return多个返回值的实例
- 一道优雅面试题分析js中fn()和return fn()的区别
- JavaScript中break、continue和return的用法区别实例分析