JavaScript为什么使用void(0)?

void操作符计算给定表达式并且返回未定义undefined。如果你传参数0作为一元表达式给void操作符,JavaScript 将强制0为"false",并且返回,但是void不关心这个,并且简单的返回undefined,意味着 "不做什么事情"。把它们结合起来,当一个连接被点击的时候,就有了一个程序化的“不做什么事情”的办法。JavaScript Void(0)当这个时候经常被使用,插入一个表达式到网页里面可能会产生不必要的副作用。

有时候,你可能会偶尔遇到一个HTML 文档在<a>标签元素里面使用href="JavaScript:Void(0);" 的情况。

<a href="javascript:void(0)" id="doIt">doSomething</a>

JavaScript:Void(0)的通用使用方法是使用超链接。一般情况,当用户单击链接时是装载一个新页面,但是不一定总是希望这样。例如,当用户单击一个链接, 你想更新一个字段或者一个变量的值。为了避免重新装载页面的情况,就使用void(0)功能。

例子

<a href="#" onclick="alert('I am reloading!!!')">Click me!</a>

输出

点击这里!

当你点击上面的链接时,尽管显示了一条指定的消息,但是页面被自动加载了。

为了避免重新的页面加载,我们可以使用JavaScript:void(0);在这个链接处。

<a href="javascript:void(0);" onclick="alert('不再从新加载!!!')">点击这里!</a>

输出

点击这里!

当运行上面的例子,你能看到显示的消息框,并且void(0)避免了页面的重新加载。这样void操作符就非常有用了,在我们想调用其他功能,而又不想重新加载页面的时候

原文链接