以下哪些是合法的?
// 1
if (x === 0) {
foo(x);
}
// 2
if (x === 0) {
foo(x);
} else {
bar(x);
}
// 3
if (x === 0) {
foo(x);
} else if (x < 0) {
bar(x);
}
// 4
if (x === 0) foo(x);
// 5
if (x === 0) foo(x);
else bar(x);
// 6
if (x === 0) foo(x);
else if (x < 0) bar(x);
break
以下哪些语句是合法的?
{
break; // 1
}
label1: {
break label1; // 2
}
while (true) {
break; // 3
}
label2: while (true) {
break label2; // 4
}
switch
const x = 0;
let result = '';
switch (x) {
case 0:
result += 'zero';
case 1:
result += 'one';
default:
result += 'multiple';
}
会发生什么?
以下哪些循环是无限循环?
// 1
while () {}
// 2
while (true) {}
// 3
do {} while ();
// 4
do {} while (true);
// 5
for () {}
// 6
for (;;) {}
以下哪些循环的循环体从未执行?
// 1
while (false) {
console.log('while');
}
// 2
do {
console.log('do-while');
} while (false);
// 3
for (;false;) {
console.log('for');
}
for-of
const result = [];
const arr = ['a', 'b', 'c'];
for (const [index, elem] of arr.entries()) {
if (index > 1) break;
result.push(elem);
}
会发生什么?