Поскольку в этом контексте addItem
используется как ссылка на функцию , а не как возвращаемое значение функции.
Если вы сделали это:
addButton.addEventListener('click', addItem());
Тогда addItem
будет выполнено сразу же, и всякий раз, когда нажимается addButton
, вызывается возвращаемое значение addItem
(то есть undefined
).Это может привести к ошибке, поскольку undefined
не является функцией.
Здесь вы говорите , когда я нажимаю addButton
, ищем ссылку на функцию, которую я передал, и выполняю ее.
Вы также можете написать это двумя разными способами:
addButton.addEventListener('click', "addItem()");
addButton.addEventListener('click', function() {
addItem();
});
Оба приведенных выше результата все равно приведут к тому же выводу, что и ваш исходный код.