Uncaught SyntaxError: Неожиданный токен) при использовании void()

Я получаю эту ошибку, и мне удалось сузить ее до:

<a href="javascript:void();" onclick="myFunction();">aaa</a>

Эта строка кода теперь единственная в моем исходном коде, и все же я получаю ошибку в заголовке. Любая идея, почему так?

Даже когда вы окружены соответствующими HTML-элементами (html, head, body и т.д.), я все еще выдал ошибку. Ошибка отображается в консоли Chrome dev и через предупреждение, если я включаю

window.onerror

в теге заголовка. Это также происходит, когда метод myFunction() действительно существует. Насколько я могу судить, в этом вышеприведенном утверждении нет ничего плохого.

Ответ 1

Использование

<a href="javascript:void(0);" onclick="myFunction();">aaa</a>

void ожидает параметр.

Здесь интересное обсуждение использования void(0) или других методов здесь.

Ответ 3

void - это оператор, а не функция. В качестве операнда требуется одно выражение. () не является допустимым выражением. Правильный синтаксис:

<a href="javascript:void 0;" onclick="myFunction();">aaa</a>

Вы можете поместить круглые скобки вокруг 0, но они не нужны, так как вам не нужны скобки вокруг 0 при записи 3 + 0.