Почему обратный вызов setInterval выполняется только один раз?

У меня есть счетчик, который я сделал, но я хочу, чтобы он работал вечно, это действительно просто, что я делаю неправильно здесь?

function timer() { console.log("timer!") } window.setInterval(timer(), 1000) 

    2 Solutions collect form web for “Почему обратный вызов setInterval выполняется только один раз?”

    Вы использовали вызов функции вместо ссылки на функцию в качестве первого параметра setInterval. Делай это так:

     function timer() { console.log("timer!"); } window.setInterval(timer, 1000); 

    Или короче (но когда функция становится больше и менее читаема):

     window.setInterval( function() { console.log("timer!"); }, 1000) 

    setInterval и setTimeout должны использоваться с обратными вызовами, такими как:

     setInterval(timer, 1000); 

    или неназванные функции:

     setInterval( function() { console.log("timer!"); }, 1000 ); 

    Почему ваш код не работает – когда вы передаете функцию в качестве аргумента другой функции с помощью скобок, например doSomething ( someFunc() ) вы передаете результат функции.

    Когда функция передается как объект, например doSomething ( someFunc ) вы передаете обратный вызов. Таким образом someFunc передается как ссылка и выполняется где-то в вызывающей функции. Это то же самое, что и указатели на функции на других языках.

    Общей ошибкой является использование этих двух функций, как показано на w3schools . Это делает неявный вызов eval .

    Interesting Posts

    Как загрузить и сохранить изображение с помощью Google App Engine (java)

    Должен ли разработчик ориентироваться на читаемость или производительность?

    Установите местоположение в iPhone Simulator

    Как получить значение свойства на основе имени

    Ограничение диапазона переменных

    Может ли controller AngularJS наследовать от другого controllerа в том же модуле?

    Определение 32 против 64 бит в C ++

    Как использовать логические переменные в Perl?

    jquery-ui-dialog – Как подключиться к событию закрытия диалогового windows

    При создании нового графического интерфейса WPF является предпочтительным выбором для Windows Forms?

    Как удалить выделенную blob в хранилище Microsoft Azure

    Значки наложения TortoiseSVN не отображаются при установке другой учетной записью пользователя?

    Автоматически переходить на определенный слайд в Powerpoint?

    Java: Синтаксис и смысл за «[B @ 1ef9157»? Binary / адрес?

    Ошибка: главный метод не найден в classе Calculate, пожалуйста, определите основной метод как: public static void main (String args)

    Давайте будем гением компьютера.