Javascript クロージャーがどのように機能するかの詳細な説明

零到壹度
リリース: 2018-04-08 16:05:04
オリジナル
1230 人が閲覧しました

いわゆるクロージャは、多くの変数とこれらの変数にバインドされた環境を持つ式 (通常は関数) であり、これらの変数も式の一部です。

ここでの私の理解は次のとおりです: 実際、js のすべての関数メソッドは実際にはクロージャとしてカウントできます。簡単に言えば、次のようにネストされた関数メソッドの使用としても理解できます。上記のコード例:

function run(){
   var a=10;
    return function(){
	a++;
	console.log(a);
    }
}
var foo=run();
foo();//11
foo();//12 
foo();//13
ログイン後にコピー

分析: この時点の foo の値は run() 関数の戻り値と等しく、foo 関数はクロージャです 1) 実行プロセスは最初に呼び出します。 foo() メソッド。 foo() メソッドは run() メソッド内の return function メソッドを見つけます。この return function メソッドは run() メソッド内の変数を指し、foo() が実行されると、 11 が出力されます;

2) in 上記の例では、クロージャの存在により、関数 run が返された後に in run() が常に存在します。このように、foo() が実行されるたびに、は、1 を加算した後にコンソールに追加される a の値になります。

関連する推奨事項:

クロージャとは正確には何ですか?

以上がJavascript クロージャーがどのように機能するかの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート