Теперь я обычно вызываю функцию (которая не требует аргументов) с ()
следующим образом:
myFunction(); //there empty parens
За исключением вызовов jQuery, где я могу сойти с рук:
$('#foo').bind('click', myFunction); //no parens
Fine. Но недавно я увидел этот комментарий здесь на SO:
"Рассмотрите возможность использования setTimeout(monitor, 100);
вместо setTimeout('monitor()', 100);
. Eval is evil:)"
Хлоп! Действительно ли мы eval()
-в строке здесь? Наверное, я действительно не понимаю значение и значение "вызова" функции. Каковы реальные правила о вызовах и ссылках на функции?