未捕获语法错误:使用void()时出现意外的标记)

Uncaught SyntaxError: Unexpected token ) when using void()

本文关键字:意外 语法 错误 void 使用      更新时间:2023-09-26

我收到了这个错误,并设法将其缩小到:

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

这行代码现在是我源代码中唯一的东西,但我仍然在标题中得到错误。知道为什么吗?

即使被适当的HTML元素(HTML、head、body等)包围,我仍然会抛出错误。错误显示在Chrome开发控制台中,如果我包含,则通过警报显示

window.onerror

函数。当myFunction()方法实际存在时,也会发生这种情况。据我所知,上述说法绝对没有错。

使用

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

void需要一个参数。

这里有一个关于使用void(0)或其他技术的有趣讨论。

是因为void需要一个参数。您想要:

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

void是一个运算符,而不是函数。它需要一个表达式作为操作数。()不是有效的表达式。正确的语法是:

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

您可以在0周围放括号,但它们不是必需的,就像在编写3 + 0时不需要在0周围放括号一样。