HTML中A标签的href设置为javascript:;和javascript:void(0);运行起来有什么区别?

看到很多人都写的是javascript:void(0);,新浪微博也是,为什么不能直接写成javascript:;?

lls17
lls17 javascript:void(0) Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。 #包含了一个位置信息.默认的锚是#top,也就是网页的上端。 而javascript:void(0)仅仅表示一个死链接。 这就是为什么有的时候页面很长浏览链接明明是#,却跳到了页首。
7 年多之前 回复

4个回答

请参考下面链接中对于void的说明:[url]http://www.w3school.com.cn/js/pro_js_operators_unary.asp[/url]

针对楼主的问题,借用上面stackoverflow链接中的代码:
[code="javascript"]
Does not appear as a link, because there's no href
fn is called
fn is called
fn is called too!
[/code]
上面三个都是等价的。

zuoming99
有钱斯基 谢谢,我也是这么认为的,只是一直不很确定
7 年多之前 回复

区别:采用这个方式 javascript:void(0) 实现点击事件时, 运行起来,如果页面内容很多,有滚动条时,页面不会乱跳,用户体验更好。

可以写成javascript:;,你去看看qq空间,很多都是这样写的。
我感觉这两者之间没有什么差别,都是执行一个空事件。
javascript:;甚至少了7个字符,还节省了带宽类,呵呵。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问