标签语句的语法
javascript
label: statement
label 表示标签名,可以是任何合法的标识符,但不能是 JavaScript 中的保留字。statement 表示被标记的语句块,可以是任何合法的 JavaScript 语句。
用法
标签语句的主要用途是在代码中进行跳转,可以配合 break、continue、return 等语句使用。
break 语句配合标签语句使用
当在嵌套的循环语句中使用 break 语句时,只能跳出当前的循环,无法跳出外层循环。但是,如果在外层循环前加上一个标签,就可以在内层循环中使用 break 语句跳出外层循环。
javascript
outer:
for (let i = 0; i < 10; i++) {
for (let j = 0; j < 10; j++) {
if (i * j === 25) {
break outer;
}
}
}
continue 语句配合标签语句使用
类似地,当在嵌套的循环语句中使用 continue 语句时,只能跳过当前的循环,无法跳过外层循环。但是,如果在外层循环前加上一个标签,就可以在内层循环中使用 continue 语句跳过外层循环的某次迭代。
return 语句配合标签语句使用
在 JavaScript 中,return 语句只能用于函数中,用于返回函数的执行结果。但是,如果在函数前加上一个标签,就可以在函数内部使用 return 语句跳出函数,并返回一个指定的值。
javascript
function foo() {
bar:
{
console.log('before return');
return 123;
console.log('after return');
}
}
console.log(foo()); // 输出 123
注意事项
- 标签语句只能用于循环语句、switch 语句和函数语句中,不能用于其他语句中。
- 标签语句不是语句块,不能定义变量或函数。
- 在使用标签语句时,应该避免过度使用,以免降低代码的可读性和可维护性。