From f45e9e070c93ebbd83d488bdd775987a4d75c201 Mon Sep 17 00:00:00 2001 From: t7yang Date: Mon, 10 Jan 2022 08:38:08 +0800 Subject: fix yari h2m dry run errors --- files/zh-tw/web/javascript/closures/index.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'files/zh-tw/web/javascript/closures') diff --git a/files/zh-tw/web/javascript/closures/index.html b/files/zh-tw/web/javascript/closures/index.html index fbac2c5b07..de8cb67e54 100644 --- a/files/zh-tw/web/javascript/closures/index.html +++ b/files/zh-tw/web/javascript/closures/index.html @@ -164,8 +164,8 @@ console.log(counter.value()); // logs 1

這三個公有函式,皆為共享同一個環境的閉包。由於 JavaScript 的語法作用域,它們都能訪問 privateCounter 變數與 changeBy 函式。

-
-

你應該也發現到我們定義了建立 counter 的匿名函式、而我們接著呼叫它,並給counter 變數指派了回傳值。我們也能在分離的變數 makeCounter 儲存函式並用其建立數個 counter。

+
+

備註:你應該也發現到我們定義了建立 counter 的匿名函式、而我們接著呼叫它,並給counter 變數指派了回傳值。我們也能在分離的變數 makeCounter 儲存函式並用其建立數個 counter。

var makeCounter = function() {
@@ -199,8 +199,8 @@ alert(counter2.value()); /* Alerts 0 */
 
 

請注意 counter1counter2 這兩個計數器是如何維護其獨立性的。每個閉包都以各自的閉包,在參照不同版本的 privateCounter 變數。每當呼叫其中一個計數器時,它會透過該變數的數值變更,改變語法作用域的環境。不過,在其中一個閉包的變數值改時,其他閉包的數值並不會受到影響。

-
-

使用這種方法的閉包,提供了一些與物件導向程式設計的益處,尤其是資料隱藏與封裝。

+
+

備註:使用這種方法的閉包,提供了一些與物件導向程式設計的益處,尤其是資料隱藏與封裝。

在迴圈建立閉包:一個常見錯誤

-- cgit v1.2.3-54-g00ecf