今天看到《AJAX开发简略》中所有的<A href>都用到了javascript:void(0)
今天看了一下原来这个表达式的作用就是让当前这个超链接成为一个死链接,就是什么都不作。
以下摘自:
别人些的JavaScript脚本可以看到这样的代码:

<a href="javascript:doTest2();void(0);">here</a>

但这儿的void(0)究竟是何含义呢?
JavaScriptvoid是一个操作符,该操作符指定要计算一个表达式但是不返回值。
void 操作符用法格式如下:

1. javascript:void (expression)

2. javascript:void expression
expression 是一个要计算的 JavaScript 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。
你可以使用 void 操作符指定超级链接。表达式会被计算但是不会在当前文档处装入任何内容。
下面的代码创建了一个超级链接,当用户点击以后不会发生任何事。当用户点击链接时,void(0) 计算为 0,但在 JavaScript 上没有任何效果。
<A HREF="javascript:void(0)">单击此处什么也不会发生</A>
下面的代码创建了一个超级链接,用户单击时会提交表单。
<A HREF="javascript:void(document.form.submit())">单击此处提交表单</A>
以下转自:
http://www.cnblogs.com/xiang/archive/2006/09/05/495828.html
#包含了一个位置信息默认的锚点是#top 也就是网页的上端,而javascript:void(0) 仅仅表示一个死链接.这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首,而javascript:void(0) 则不是如此所以调用脚本的时候最好用void(0),或者<input onclick>等.
以下摘自:
void 运算符
避免表达式返回值。

void expression

expression 参数是任意有效的 JScript 表达式。

说明
void 运算符对表达式求值,并返回 undefined。在希望求表达式的值,但又不希望脚本的剩余部分看见这个结果时,该运算符最有用。
-------------------------------------------------------------------------------
 
链接(href)直接使用javascript:void(0)在IE中可能会引起一些问题,比如:造成gif动画停止播放等,所以,最安全的办法还是使用“#”。
为防止点击链接后跳转到页首,
onclick 事件 return false即可。