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の違いの簡単な分析
1. はじめに先ほど、ウェブページの急速な発展について紹介しました。今回は、より深い内容についてお...
フロントエンド開発でよく使われるCSSの配置方法は、位置決めには、通常位置決め、相対位置決め、絶対位...
目次1. パッケージ化コマンドを追加する2. パッケージ化されたコードを実行する3. パッケージ化し...
目次Dockerイメージのダウンロードmysqlとnacosを起動する独自のJavaプロジェクトを変...
序文MySQL では、server-id を使用してデータベース インスタンスを一意に識別し、それを...
MySQL 5.7.27のインストールチュートリアルは以下のように記録され、皆さんと共有されています...
最近、WeChatアプレットを書いていたとき、WeChatアプレットではすべてのリクエストインターフ...
日常業務でファイルをダウンロードする一般的な方法は 2 つあります。 1 つ目は、サーバーのファイル...
この記事では、グラフィック認証コードログインを実装するためのVueの具体的なコードを参考までに紹介し...
みなさんこんにちは。私と同じように混乱している方はいらっしゃいませんか。CSS は簡単に始められます...
1 はじめにRedis 、 ANSI C言語で開発されたKey-Valueベースの高性能NoSQLデ...
コードをコピーコードは次のとおりです。 .sugLayerDiv{位置:相対; overflow:h...
目次1. js整数の演算2. ネイティブアラートを書き換えてポップアップボックスの数を記録する3. ...
CentOS 7 では、次のようなコマンドを使用してホスト ポートをコンテナー ポートにマッピングす...
このアイデアを改善し、より良い意見を得られることを期待して、議論を刺激するためにいくつかの値を大まか...