Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。
void操作费用法格式:
1、javascript:void(expression)
2、javascript:void expression
expression 是一个要计算的 Javascript 标准的表达式。表达式外侧的圆括号是选的,但是写上去是一个好习惯。 (实现版本 Navigator 3.0 )
说明:
void运算符对表达式求值,并返回undefined。希望求表达式的值,但又不希望脚本的剩余部分看见这个结果时,该运算符最有用
例如:
<a href="javascript:void(0)">单击此处看看效果</a>
// 实际上单击此处什么也不会发生,要执行某些处理,但是不整体刷新页面的情况下,可以使用void(0),但是在需要对页面进行refresh刷新的时候,就要用void操作符指定超链接,表达式会被计算但是不会在当前文档处装入任何内容。页面的代码创建了一个超级链接,当用户点击以后不会发生任何事情,当用户点击链接时,void(0)计算为0,但在Javascript上没有任何效果。
下面的代码创建了一个超级链接,当用户以后不会发生任何事。当用户链接时,void(0)
计算为 0,但 Javascript 上没有任何效果。
<a href="javascript:void(0)">单此处什么也不会发生</a>
下面的代码创建了一个超级链接,用户单时会提交表单。
<a href="javascript:void(document.form.submit())">单此处提交表单</a>
a
href=#与 a href=javascript:void(0) 的区别 :
#包含了一个位置信息
默认的锚是#top也就是网页的上端
而javascript:void(0)仅仅表示一个死链接
这就是为什么有的时候页面很长浏览链接明明是#是
跳动到了页首
而javascript:void(0) 则不是如此
所以调用脚本的时候最好用void(0)
或者<input onclick>
<div onclick>等
链接的几种方法:
1、window.open("url")
2、用自定义函数
<script>
function
openWin(tag,obj){
obj.target="_blank";
obj.href
= "Web/Substation/Substation.aspx?stationno="+tag;
obj.click();
}
</script>
<a
href="javascript:void(0)" onclick="openWin(3,this)">百度</a>
window.location.href=""
Javascript:void(0)的好处:
在开发过程中我们经常会用到<a href="#"/>,可是再点击这个链接的时候,总是跳到页面的顶端,如果滚动条很长的话,并且已经阅览到页面底部的时候,给用户带来很大的困扰。
为什么会出现这种情况呢?文中讲到,#代表的是一个锚点,并且这个锚点是在页面的顶部,所以每次点击这个链接都会跳到页面顶部。
如果我们不想让页面跳动的话,就可以使用javascript:void(0)代替#,页面就不会发生跳转了,这样就会增强了用户的体验度。