JavaScript クロージャーはどのように機能しますか?を参照してください。.
閉鎖は次のとおりです。
クロージャは関数のローカル変数です — 関数が戻った後も生き続けます、または
クロージャは、関数が戻ったときに割り当てが解除されないスタック フレームです (あたかも「スタック フレーム」がスタック上にあるのではなく、malloc されたかのように!)。
以下が閉鎖を考慮していることを確認したいだけですか?
1) 関数内で JavaScript 関数をバインドします。
var Books = {
init:function(){
$('#box').bind('click',function(){
console.log('click');
});
}
};
Books.init();
2) 関数内で関数を宣言する
function sayHello(name) {
var text = 'Hello ' + name;
var sayAlert = function() { alert(text); }
}
var hello = sayHello();
関数内のすべての関数がクロージャーを考慮するか、返された内部関数を変数/参照として保持する関数のみを考慮するかということです。例:
function sayHello(name) {
var text = 'Hello ' + name;
var sayAlert = function() { alert(text); }
**return sayAlert;**
}