iT邦幫忙

1

2024 IT鐵人賽 Day2 -變數宣告

  • 分享至 

  • xImage
  •  

變數宣告

  1. var 全域變數:

var 宣告的變數在函式作用域內是全域的,並且可以在函式內的任何地方使用。
var 變數可以重新宣告和重新賦值。
var 變數會被提升(hoisting),即變數宣告會被提升到作用域的頂端。

function varExample() {
  console.log(a); // undefined (變數提升)
  var a = 10;
  console.log(a); // 10
  if (true) {
    var a = 20; // 重新宣告和賦值
    console.log(a); // 20
  }
  console.log(a); // 20 (函式作用域)
}

varExample();
  1. const:

const 宣告的變數是區塊作用域(block-scoped),即只能在宣告它的區塊內使用。
const 變數必須在宣告時賦值,並且不能重新賦值。
const 變數也會被提升,但在初始化之前不能使用。

function constExample() {
  const b = 10;
  console.log(b); // 10
  if (true) {
    const b = 20; // 區塊作用域內的新變數
    console.log(b); // 20
  }
  console.log(b); // 10 (外部區塊作用域)
  // b = 30; // 錯誤:不能重新賦值
}

constExample();
  1. let:
    let 宣告的變數也是區塊作用域(block-scoped)。
    let 變數可以重新賦值,但不能重新宣告。
    let 變數會被提升,但在初始化之前不能使用。
function letExample() {
  let c = 10;
  console.log(c); // 10
  if (true) {
    let c = 20; // 區塊作用域內的新變數
    console.log(c); // 20
  }
  console.log(c); // 10 (外部區塊作用域)
  c = 30; // 可以重新賦值
  console.log(c); // 30
}

letExample();

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言