Подтвердить что ты не робот

JavaScript: SyntaxError: отсутствует) после списка аргументов

Я получаю сообщение об ошибке:

SyntaxError: missing ) after argument list

С помощью этого javascript:

var nav = document.getElementsByClassName('nav-coll');
for (var i = 0; i < button.length; i++) {
    nav[i].addEventListener('click',function(){
            console.log('haha');
        }
    }, false);
};

Что означает эта ошибка?

4b9b3361

Ответ 1

У вас есть дополнительное закрытие } в вашей функции.

var nav = document.getElementsByClassName('nav-coll');
for (var i = 0; i < button.length; i++) {
    nav[i].addEventListener('click',function(){
            console.log('haha');
        }        // <== remove this brace
    }, false);
};

Вам действительно нужно использовать что-то вроде JSHint или JSLint, чтобы помочь найти эти вещи. Эти инструменты интегрируются со многими редакторами и IDE, или вы можете просто вставить фрагмент кода на вышеуказанные веб-сайты и запросить анализ.

Ответ 2

У вас есть дополнительные } для многих, как показано ниже:

var nav = document.getElementsByClassName('nav-coll');
for (var i = 0; i < button.length; i++) {
    nav[i].addEventListener('click',function(){
            console.log('haha');
        } // <-- REMOVE THIS :)
    }, false);
};

Очень хороший инструмент для этих вещей - jsFiddle. Я создал скрипку с вашим недопустимым кодом, и при нажатии кнопки TidyUp он форматирует ваш код, который делает его более ясным, если есть возможные ошибки с отсутствующими фигурными скобками.


DEMO - ваш код в скрипке, есть игра:)