(廣告,請勿阻擋)

測驗 » 變數和賦值(進階)

1. 靜態 vs. 動態

哪一個表示「在執行時期」?

2. 靜態 vs. 動態

哪一個表示「在編譯時期,不執行程式」?

3. 區塊作用域

let foo = 'a';
{
  let foo = 'b';
  console.log(foo);
}
console.log(foo);

4. 區塊作用域

let foo; // (A)
{
  let foo = 123;
}
console.log(foo);

5. 暫時性死區 1/5

let foo = 'a';
console.log(foo); // (A)
{
  let foo;
  foo = 'b';
}

A 行會發生什麼事?

6. 暫時性死區 2/5

let foo = 'a';
{
  console.log(foo); // (A)
  let foo;
  foo = 'b';
}

A 行會發生什麼事?

7. 暫時性死區 3/5

let foo = 'a';
{
  let foo;
  console.log(foo); // (A)
  foo = 'b';
}

A 行會發生什麼事?

8. 暫時性死區 4/5

let foo = 'a';
{
  let foo;
  foo = 'b';
  console.log(foo); // (A)
}

A 行會發生什麼事?

9. 暫時性死區 5/5

let foo = 'a';
{
  let foo;
  foo = 'b';
}
console.log(foo); // (A)

A 行會發生什麼事?

10. 閉包 (1/2)

const foo = 'a';
function func() {
  return foo;
}
function returnFunc(foo) {
  return func;
}
const result = returnFunc('b')();

會發生什麼事?

11. 閉包 (2/2)

const foo = 'a';
function returnFunc(foo) {
  function func() {
    return foo;
  }
  return func;
}
const result = returnFunc('b')();

會發生什麼事?


正確答案:0 個中的 0 個