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)
。