имеет смысл ... спасибо

разница между этими вызовами setInterval и какими из них следует пользоваться?

setInterval("myFunction()",1000)
setInterval("myFunction",1000)
setInterval(myFunction(),1000)
setInterval(myFunction,1000)

Я предполагаю, что JS использует eval () для первых двух (строк) и вызывает два последних напрямую.

Также я не понимаю разницы между звонками с круглыми скобками и без них. Те, кто в скобках, вызывают его напрямую, а затем периодически вызывают его возвращаемое значение?

Ответы на вопрос(1)

Решение Вопроса

eval и следует избегать любой ценой.

Добавление() вызывает функцию немедленно.

Функции Javascript на самом деле являются переменными, которые содержат функции.
ПишуsetInterval(myFunction, 1000) передает значениеmyFunction переменная кsetInterval.
ПишуsetInterval(myFunction(), 1000) будемвызов myFunction, а затем передать всеmyFunction возвращается кsetIntervalтак же, как вызов любой другой функции.

 SLaks18 янв. 2011 г., 02:50
@Warren:setInterval(myFunction(), 1000) имеет смысл только еслиmyFunction возвращает другую функцию. В противном случае, вы будете проходитьundefined вsetInterval.
 WarrenFaith18 янв. 2011 г., 15:16
имеет смысл ... спасибо
 WarrenFaith18 янв. 2011 г., 02:49
Так что, если я хочу использоватьsetInterval который должен начинаться с вызова данной функции сразу, я использую скобки. Если я не хочу называть это правильно, знайте, но в данное время я использую это без. Правильно?

Ваш ответ на вопрос