From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../reference/statements/block/index.html | 86 ++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 files/zh-tw/web/javascript/reference/statements/block/index.html (limited to 'files/zh-tw/web/javascript/reference/statements/block') diff --git a/files/zh-tw/web/javascript/reference/statements/block/index.html b/files/zh-tw/web/javascript/reference/statements/block/index.html new file mode 100644 index 0000000000..62a09df015 --- /dev/null +++ b/files/zh-tw/web/javascript/reference/statements/block/index.html @@ -0,0 +1,86 @@ +--- +title: 區塊 +slug: Web/JavaScript/Reference/Statements/block +translation_of: Web/JavaScript/Reference/Statements/block +--- +

{{jsSidebar("Statements")}}

+ +

總覽

+ +

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

+ + + + + + + + + + + + + + + +
陳述句
Implemented inJavaScript 1.0
ECMAScript editionECMA-262 1st edition
+ +

語法

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

參數

+ +
+
陳述_1, 陳述_2, 陳述_n
+
區塊陳述中的陳述句群。
+
+ +

說明

+ +

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

+ +

var

+ +

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

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

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

+ +

let const

+ +

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

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

function

+ +

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

+ +
function foo() {
+    {
+        var a = 'var';
+        {
+            let a = 'let';
+            console.log(a);  // let
+        }
+    }
+    console.log(a);  // var
+}
+foo();
-- cgit v1.2.3-54-g00ecf