ホームページ > ウェブフロントエンド > jsチュートリアル > JS クロージャの役割は何ですか?

JS クロージャの役割は何ですか?

Guanhui
リリース: 2020-06-24 16:09:32
オリジナル
4922 人が閲覧しました

JS クロージャの機能は、A の内部関数 B の実行は A の変数に依存する必要があるため、A が実行されて返された後で、JavaScript のガベージ コレクション メカニズムが A によって占有されていたリソースを再利用するのを防ぐことです。クロージャが使用されていない場合、関数 B が実行に依存する変数がグローバル汚染を引き起こします。

JS クロージャの役割は何ですか?

閉包の本質

集合 S は、Cl( S)= S (cl ここではクロージャ、クロージャです)。特に、空集合の閉包は空集合であり、X の閉包は X です。集合の交差の閉包は常に、集合の閉包の交差の部分集合 (必ずしも適切な部分集合であるとは限りません) です。有限個の集合の和集合の閉包は、これらの集合の閉包の和集合と等しく、ゼロ集合の和集合は空集合であるため、この命題には、空集合の閉包に関する前述の特殊なケースが含まれます。無限集合の和集合の閉包は、これらの集合の閉包の和集合と必ずしも等しいわけではありませんが、前者は後者の親集合でなければなりません。

A が S を含む X の部分空間である場合、A で計算された S の閉包は、)) 交差における A と S の計算された閉包に等しくなります。特に、A が Cl_X(S) のサブセットである場合に限り、S は A 内で密になります。

クロージャの例

プライベート変数のシミュレーション:

function Counter(start){

  var count = start;

  return{
    increment:function(){
      count++;
    },
    get:function(){
      return count;
    }
  }
}

var foo = Counter(4);
foo.increment();
foo.get();// 5
ログイン後にコピー

ここで、Counter 関数は、関数 Increment と関数 Get の 2 つのクロージャを返します。どちらの関数も外側のスコープ Counter への参照を維持するため、このスコープで定義された変数 count に常にアクセスできます。

推奨チュートリアル: 「JavaScript

以上がJS クロージャの役割は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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