许多人在hrefs中编写`javascript:void(0)`而不是`javascript:void 0`.括号做了什么吗?

dmn*_*mnd 14 javascript

我看到人们void(0)一直在写,但我不明白为什么人们使用括号.据我所知,他们没有目的.void它不是一个功能,它是一个操作员.那么人们为什么要使用parens呢?他们是否有目的?甚至在MDN上也使用了parens.

Ja͢*_*͢ck 6

我不得不承认我过去多次使用过相同的结构,主要是因为我看到它被用在其他网站上.我不再使用它了,因为不引人注目的JavaScript比内联JavaScript更受欢迎; 事实上,它几乎专门用于内联,以确保页面不刷新.

话虽如此,正如你正确指出的那样,它是一个操作员,而不是一个功能; 它仍然有效的原因很简单,因为(0)和0都是一样的东西,所以这是它将如何进行评估:

void (0);
Run Code Online (Sandbox Code Playgroud)

这与:

void 0;
Run Code Online (Sandbox Code Playgroud)

我想它被编写为函数调用的原因是因为当使用内联时人们对函数感觉更舒服:)

<a href="javascript:void 0">...</a> // hold on, that can't work, can it?!

<a href="javascript:void(0)">...</a> // ahhh, normality restored
Run Code Online (Sandbox Code Playgroud)