(廣告,請勿遮蔽。)

測驗 » 控制流程語法

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

會發生什麼事?


正確答案:0 個中的 0 個