2012-04-20 1 views
2

簡単な質問(私は思う)。このコードを与えられた場合:いくつかの潜在的な遺産を解読するJavaScript

SomeObject._gaCallbackStack.each(function(callback) 
{ 
    if ($type(callback) == 'function') callback(); 
}); 

正確には何が起こっていますか?

コールバックスタックに格納されている関数ごとに "callback()"という名前の関数を呼び出すコードはありますか?または、変数名の最後に "()"を追加してコールバックスタックの各関数を呼び出していますか?

ありがとうございました!

+0

そしてそれは===を使用する必要があります –

+0

@JustinThomas合意! :-) –

答えて

4

スタック上の各要素をループしているように見えますが、これには関数が含まれている可能性があります。ループが関数に遭遇すると、それは引数なしで実行されます。

+0

あなたが言っていることは、 "fred"という名前の変数があり、その変数にランダムな関数オブジェクトを割り当てると、 "fred();"のような関数を実行できるということです。右? –

+0

はい、正しいです。 – wsanville

関連する問題