私はJavaScriptのクロージャを理解していますが、私はそれがネストされた関数をどのように扱うかについてはわかりません。たとえば:JavaScriptのネストされた関数のメモリ使用
var a = function(o) {
o.someFunction(function(x) {
// do stuff
});
}
私は新しいクロージャは、私が機能a
呼び出すたびに作成されて知っているが、その閉鎖はまたsomeFunction
に渡された匿名関数の新しいインスタンスが含まれていますか?それは私が代わりにFFをした場合、より良いでしょう:あなたの最初の例で
var b = function(x) { /* do stuff */ }
var a = function(o) {
o.someFunction(b);
}
ちょうど怪しげになるためには、関数の終了後にセミコロンを付けるべきです。 var b = function(x){/ *処理する* /}; var a = function(o){o.someFunction(b);} }; – Fenton