(广告,请不要屏蔽。)

测验 » 控制流语句

1. 语法

以下哪些是合法的?

// 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);

2. break

以下哪些语句是合法的?

{
  break; // 1
}

label1: {
  break label1; // 2
}

while (true) {
  break; // 3
}

label2: while (true) {
  break label2; // 4
}

3. switch

const x = 0;
let result = '';

switch (x) {
  case 0:
    result += 'zero';
  case 1:
    result += 'one';
  default:
    result += 'multiple';
}

会发生什么?

4. 无限循环

以下哪些循环是无限循环?

// 1
while () {}
// 2
while (true) {}

// 3
do {} while ();
// 4
do {} while (true);

// 5
for () {}
// 6
for (;;) {}

5. 循环体从未执行的循环

以下哪些循环的循环体从未执行?

// 1
while (false) {
  console.log('while');
}

// 2
do {
  console.log('do-while');
} while (false);

// 3
for (;false;) {
  console.log('for');
}

6. for-of

const result = [];

const arr = ['a', 'b', 'c'];
for (const [index, elem] of arr.entries()) {
  if (index > 1) break;
  result.push(elem);
}

会发生什么?


正确答案00