Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。通常的写法是javascript:void(0) 。本文主要介绍JavaScript(JS) void关键字的使用,以及相关示例代码。

1、void使用语法

void func()
javascript:void func()

或者

void(func())
javascript:void(func())

2、超链接中使用void

在开发页面时,如果想做一个链接点击后不做任何事情,或者响应点击而完成其他事情,可以设置其属性 href = "#",但是,这样会有一个问题,就是当页面有滚动条时,点击后会返回到页面顶端,或者是跳到设置的锚点的地方,用户体验不好。这时可以使用javascript:void(0)

例如,

<a href="javascript:void(0)">单击此处不会执行</a> 

注意:单击此处什么也不会发生,是因为其中的javascript:void(0);形式是一个javascript的伪协议,是表示此链接不跳转到任何的地方。

使用javascript:void(0)的情况,通常有以下几种:

<!--点击链接后不做任何事情-->
<a href="javascript:void(0);" >test</a> 
<a href="javascript:;" >test</a> 
<a href="####" >test</a> <!--使用2个到4个#,见的大多是"####",也有使用"#all"等其他的-->
<!--点击链接后,响应用户自定义的点击事件-->
<a href="javascript:void(0)" onclick="doSomething()">test</a> 

另外,还可以使用javascript:void()显示警告信息,

例如,

<a href="javascript:void(alert('Warning!!!'))">点击</a>

3、void()返回值

在 JavaScript 中使用 void 操作任何一个表达式的返回值都是 undefined

例如,

var a,b,c;
a = void ( b = 4 c = 9 );
console.log('a = ' + a + ' b = ' + b +' c = ' + c );

4、href="#"与href="javascript:void(0)"的区别

href="#"包含了一个位置信息,默认的锚是#top也就是网页的顶端。而href="javascript:void(0)"是一个空链接,什么也不执行。一般还是推荐使用javascript:void(0)

推荐文档