From f639481a733ab7e23d0302fa68eb723d428bb373 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 3 Aug 2021 10:47:53 -0400 Subject: remove link 'title' attributes that's just the 'href' (ja, part 5) (#1861) --- files/ja/web/javascript/closures/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'files/ja/web/javascript/closures') diff --git a/files/ja/web/javascript/closures/index.html b/files/ja/web/javascript/closures/index.html index e163ea07ac..8a4e6c0684 100644 --- a/files/ja/web/javascript/closures/index.html +++ b/files/ja/web/javascript/closures/index.html @@ -32,7 +32,7 @@ init();

init() 関数はローカル変数 name を作成し、それから関数 displayName() を定義しています。displayName()init() の中で定義されている内部関数で、その関数本体の内部でしか利用できません。displayName() 自体はローカル変数を持っていませんが、外側の関数で宣言された変数にアクセスできるので、displayName() では親関数 init() で宣言された変数 name を使用できます。しかし、 displayName() に同じローカル変数があればそれが使われます。

-

コードを JSFiddle で実行して、displayName() 関数の alert() 文が、親関数で定義された name 変数の値を表示するのを確認してください。これはレキシカルスコープ、つまり関数がネストされている時にパーサーが変数名を解決する方法を示す例です。レキシカルという言葉の触れるところは、変数のスコープはソースコード内の位置によって決定され、ネストされた関数は外側のスコープで宣言された変数にアクセスすることができます。

+

コードを JSFiddle で実行して、displayName() 関数の alert() 文が、親関数で定義された name 変数の値を表示するのを確認してください。これはレキシカルスコープ、つまり関数がネストされている時にパーサーが変数名を解決する方法を示す例です。レキシカルという言葉の触れるところは、変数のスコープはソースコード内の位置によって決定され、ネストされた関数は外側のスコープで宣言された変数にアクセスすることができます。

クロージャ

@@ -134,7 +134,7 @@ document.getElementById('size-16').onclick = size16;

JavaScript にはこういった機能は組み込まれていませんが、クロージャを使うとプライベートメソッドを模倣する事ができます。プライベートメソッドはコードへのアクセスを制限するのに役立つだけではなく、コードのパブリックインターフェイスが不要なメソッドでいっぱいになるのを防ぐため、グローバル名前空間を管理するのに非常に有効です。

-

モジュールパターンとしても知られる、クロージャを使って、プライベートな関数と変数にアクセスできるパブリック関数を定義するにはこのようにします。

+

モジュールパターンとしても知られる、クロージャを使って、プライベートな関数と変数にアクセスできるパブリック関数を定義するにはこのようにします。

var counter = (function() {
   var privateCounter = 0;
-- 
cgit v1.2.3-54-g00ecf