labeled statement:标签语句

时间:2021-08-28 22:27:57
foo: for (var i=0; i< 5; i++) {
for (var j=0; j<5; j++) { if ( i == j ) {
// 跳到 foo 的下一个循环
// 注意并不是跳到 foo 所在位置继续执行,而是执行 foo 的下一轮循环。
continue foo;
} // 跳过奇数结果
if ( !!(j % 2) ) {
// 继续内层循环
continue;
} console.log( i, j );
}
} foo: for (var i=0; i<4; i++) {
for (var j=0; j<4; j++) {
if ((i*j) >= 2) { // console.log( 'stopping!', i, j);
// 跳出标签 foo 所在的循环/代码块,继续执行后面的代码
break foo;
} console.log('inner:', i, j);
} } console.log('跳出 foo:', i, j); // 标签也能用于非循环代码块,但只有 break 才可以!
function foo() {
baz: {
console.log('this is a 空代码块。')
} bar: {
console.log('Hello'); break bar;
console.log('never runs');
} console.log('World');
} foo(); QUESTION: [] + {}; // 值为?
{} + []; // 值为? ANSWER:
// 出现在+运算符后,被当做一个值(空对象)
[] + {}; // "[object Object]"
// 被当做空代码块
{} + []; //