JavaScript関数は閉じます.
843 ワード
1、なぜクローズドがあるのですか?
作用領域の原因で関数外訪問関数で定義できない変数ですが、時にはまたこのような需要があります.この時はクローズドを使う必要があります.
2、クローズドとは何ですか
関数Aの内部でもう一つのサブ関数aを定義して、親関数の変数v 1をサブ関数aが制御して、父関数Aでこのサブ関数aを呼び出し側に返します.これをクローズドといいます.
3、クローズドの用途
クローズドはコーディングの観点から言えば、主に二つの用途があります.は、親レベルのスコープ関数全体の内部の変数を読み取ることができる. は、これらの変数の値を常にメモリに保持させる. は、クローズドされると関数の変数がメモリに保存され、メモリの消費が大きいので、クローズドを乱用することはできません.そうでないと、ウェブページの性能問題が発生し、IEでメモリのリークを引き起こす可能性があります. 解決方法は、関数を終了する前に、使用しないローカル変数をすべて削除することである.現在の変数の値を「null」に設定すると、変数の参照が解除され、ゴミ回収が開始されると、これらの値が「null」の変数が自動的に回収されます.
作用領域の原因で関数外訪問関数で定義できない変数ですが、時にはまたこのような需要があります.この時はクローズドを使う必要があります.
2、クローズドとは何ですか
関数Aの内部でもう一つのサブ関数aを定義して、親関数の変数v 1をサブ関数aが制御して、父関数Aでこのサブ関数aを呼び出し側に返します.これをクローズドといいます.
3、クローズドの用途
クローズドはコーディングの観点から言えば、主に二つの用途があります.
function fn() {
var n = 100;
function getF() {
return n;
}
function setF(newN) {
return n = newN;
}
return {
getF:getF,
setF:setF
}
}
var a = new fn()
a.getF() //100
a.setF(200) //200
4、注意事項