1. クロージャとは何ですか?
したがって、クロージャを使用すると、データとそのデータを操作する関数を関連付けることができます。 例えば: 関数foo(){ a = 1 とします。 関数()を返す{ コンソールにログ出力します。 } } foo1 = foo() とします。 foo1() // 出力1 これはクロージャの例です。foo では関数が返されるため、この関数には foo の内部スコープ、つまり a をカバーするクロージャがあり、その結果 a は常に存続し、foo が終了してもリサイクルされません。 2. クロージャの役割2.1) メモリクロージャのメモリプロパティとは何ですか? クロージャが生成されると、関数が配置されている環境の状態は常にメモリ内に残り、外側の関数呼び出しが終了した後、ガベージ コレクション メカニズムによって回収されません。 例えば: 関数foo(){ a = 0 とします。 関数()を返す{ ++; コンソールにログ出力します。 } } foo1 = foo() とします。 foo2 = foo() とします。 foo1(); // 1 foo2(); // 1 foo2(); // 2 foo1(); // 2 a はクロージャの一部であるため、クロージャが生成されると、a の環境状態はメモリ内に保持され、外側の関数呼び出しが終了した後もクリアされません。そのため、foo1 が使用されると、メモリ内の a の値は 1 増加します。 2.2) プライベート変数のシミュレーション変数が指定された操作によってのみ操作可能であることを確認します。 例えば: 関数foo(){ A = 0 とします。 戻る { getA: 関数() { A を返します。 }, 追加:関数() { A++; }, del: 関数() { A --; } } } foo1 = foo() とします。 コンソール.log(foo1.getA()); // 0 foo1 を追加します。 コンソール.log(foo1.getA()); // 1 foo1.del(); コンソール.log(foo1.getA()); // 0 閉包により、A は指定された加算および減算演算のみを実行できることが保証されます。 3. 閉鎖に関する注意事項クロージャを乱用しないでください。乱用すると、メモリの過剰使用により Web ページのパフォーマンスに問題が発生し、メモリ リークが発生する可能性もあります。 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: offsetWidth、clientWidth、scrollWidth、scrollTop、scrollLeft などのプロパティの図。
>>: MySQL接続クエリにおけるととwhereの違いの簡単な分析
序文「High Performance MySQL」では、インデックスでは範囲フィールドの後の部分が...
この記事では、ソーシャル ウェブサイトのホームページを比較分析することで洞察を得て、ソーシャル ウェ...
解決親要素に position:relative を追加します。子要素に position:abso...
方法1: SET PASSWORDコマンドを使用するまずMySQLにログインします。フォーマット: ...
filterは通常、特定の値をフィルターするために使用されます。たとえば、フィールドが空だが、フロン...
さっそく、コードを直接投稿します。具体的なコードは次のとおりです。 <!DOCTYPE htm...
//デフォルトプロトコル/ デフォルト プロトコルの使用は、リソース アクセス プロトコルが現在の...
元データと対象データSQL文を実装する(最大) 選択 店、 月、 最大(dz,fz,sp) が最大値...
この記事では、Vueを使用して天気コンポーネントをロードする方法を参考までに紹介します。具体的な内容...
最近、データベース関連の操作が多くなり、会社の既存の仕様はあまり包括的ではありません。インターネット...
序文Intel のハイパースレッディング テクノロジーにより、1 つの物理コア上で 2 つのスレッド...
序文WeChat アプレットを開発する際には、ユーザーの権限が必要なページを使用する必要があることが...
1. Nginx ステータス監視Nginx には、Nginx の全体的なアクセス ステータスを監視す...
この記事では、USB ブート ディスクの作成とシステムのインストールについて説明します。システム構成...
目次1. 重複行を見つける方法2. 重複行を削除する方法3. 複数の列で重複を見つける方法4. クエ...