區塊

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

總覽

區塊陳述用來組合零個或多個陳述。我們使用一對大括號 { } 以界定區塊。

陳述句
Implemented in JavaScript 1.0
ECMAScript edition ECMA-262 1st edition

語法

{
  陳述_1
  陳述_2
  ...
  陳述_n
}

參數

陳述_1, 陳述_2, 陳述_n

區塊陳述中的陳述句群。

說明

區塊陳述通常配合流程控制陳述(如 ifforwhile)一併使用。

var

使用var區塊中定義的變數,其存取範圍是整個整個函式或是腳本,即為 Execution Context 的範圍中。

js
var x = 1;
{
  var x = 2;
}
alert(x); // outputs 2

輸出結果是 2。因為 var 是宣告於整個腳本範圍中。

letconst

當使用let或是const進行宣告時,其存取範圍是只有本身定義的區塊中。

js
let x = 1;
{
  let x = 2;
}
console.log(x); // logs 1

function

當 function 被呼叫時,會建立此 function 的 Execution Context,因此在 function 區塊使用var整個 function 區塊中都可對其進行存取。

js
function foo() {
  {
    var a = "var";
    {
      let a = "let";
      console.log(a); // let
    }
  }
  console.log(a); // var
}
foo();

規範

Specification
ECMAScript® 2025 Language Specification
# sec-block

瀏覽器相容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
block

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support