ホームページ > 記事 > ウェブフロントエンド > Javascript クロージャーがどのように機能するかの詳細な説明
いわゆるクロージャは、多くの変数とこれらの変数にバインドされた環境を持つ式 (通常は関数) であり、これらの変数も式の一部です。
ここでの私の理解は次のとおりです: 実際、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 サイトの他の関連記事を参照してください。