ホームページ > 記事 > ウェブフロントエンド > jsでのクロージャの使い方の詳しい説明
今回は、js クロージャの使用について詳しく説明します。js クロージャを使用する際の 注意事項 は何ですか?実際のケースを見てみましょう。
クロージャー
中国語の意味は、荷物を閉じることです。 例:function a() { var name = "xuxu"; function b() { console.log(name); } // 此处产生闭包 b(); } a();クロージャは、関数がそれが配置されているスコープ チェーンを記憶してアクセスできるときに生成されます。 もちろん、ほとんどのクロージャはそれほど直感的ではありません。子関数の呼び出しは、親関数 その他、例:
function a() { var name = "xuxu"; function b() { console.log(name); } return b; } var c=a(); // 此处产生闭包 此处的c函数其实就是a函数 c();上記のコードを通じて、クロージャの利点もわかります。つまり、グローバル スコープ (幅はここにあります) 内のローカル スコープ (関数) のスコープにアクセスします。値、これは通常の字句スコープに従って行うことはできませんが、クロージャを使用すると可能になります。次に、私たちが通常書くものをさらに見てみましょう:
function foo() { var a = 2; function baz() { // 2 console.log( a ); } bar( baz ); } function bar(fn) { // 大家快看呀,这就是闭包! fn(); }または
var fn; function foo() { var a = 2; function baz() { console.log( a ); } // 将baz分配给全局变量 fn = baz; } function bar() { // 大家快看呀,这就是闭包! fn(); } foo(); // 2 bar();上記はクロージャでもあるため、サブ関数が関数内で呼び出されるか、
内部関数が何らかの手段で外部の字句関数に渡されます。スコープの場合、元の定義スコープへの参照が保持され、関数が実行されるたびにクロージャが使用されます。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 推奨読書:以上がjsでのクロージャの使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。