JSオブジェクト指向 - あなたは本当にまだクロージャを理解できますか?

JSの閉鎖、私たちが使用する実際の開発では少ないが、面接が求められます。
今日、我々はクロージャが何であるかをまとめます。

まず、変数を定義します。2例に分割されます、1は、我々はプログラム変数を閉じると、大きな画像でメモリから解放され、定義されています。2はローカルで定義されている、私の関数呼び出しの終了後、関数内の変数の定義は、メモリから解放されます。

閉鎖があり、それは私が、私はより大きな全体に存在することができますローカル変数をローカル変数を宣言するときに、関数を呼び出すことです。私は、ローカル変数のライフサイクルを延長します。

その後、簡単な閉鎖を書く~~

関数AAA(){ 
   VARのA = 10 
    機能BBB(){ 
      にconsole.log(A)    
   } 
  戻りBBB 
} 

VARのNUM = AAA()
NUM()

  

だから、閉鎖がそれを持っているプログラムを判断する方法ですか?
AAA()BBB():1.外側と内側の機能、例えば機能あり
ローカル変数がある場合2.外側の機能は、例えば:VAR A = 10
ローカル変数外機能、例えばオペレータのかどうか3.内部機能: console.log(a)は
外と4内層は相関関数などを持っていたかどうか:BBBを返します

私たちはこの記事が役立っている願って、あなたはここを参照してくださいありがとう~~~

おすすめ

転載: www.cnblogs.com/JiAyInNnNn/p/11070274.html