2012-04-20 2 views
2

Быстрый вопрос (я думаю). С учетом этого фрагмента кода:Decyphering некоторое загадочное наследие JavaScript

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

Что именно происходит здесь?

Является ли код, вызывающий функцию с именем «callback()» для каждой функции, хранящейся в стеке обратного вызова? Или он вызывает каждую функцию в стеке обратного вызова, добавляя «()» в конец имени переменной?

Спасибо за помощь!

+0

И он должен использовать === :) –

+0

@JustinThomas Согласен! :-) –

ответ

4

Он представляет собой цикл через каждый элемент в стеке, который может содержать функции. Если цикл встречает функцию, он выполняет ее без аргументов.

+0

Так что вы говорите, что если у меня есть переменная с именем «fred», и я назначаю некоторый случайный объект функции этой переменной, я могу выполнить эту функцию следующим образом: «fred();». Правильно? –

+0

Да, это правильно. – wsanville

Смежные вопросы