javascript:void(0)最关键的是 void 关键字,该操作符指定要计算一个表达式但是不返回值
<a href="javascript:void(0)">单击此处什么也不会发生</a>
当用户链接时,void(0) 计算为 0,故在界面上没有特殊的任何效果
href="#"与href="javascript:void(0)"的区别
# 包含了一个位置信息,默认的锚是#top 也就是网页的上端,所以效果就是返回顶部
javascript:void(0), 仅仅表示一个死链接
阻止链接跳转,URL不会有任何变化
<a href="javascript:void(0)">点击此处</a>
虽然阻止了链接跳转,但URL尾部会多个#,改变了当前URL。(# 主要用于配合 location.hash)
<a href="#">点击此处</a>
同理,# 可以的话,? 也能达到阻止页面跳转的效果,但也相同的改变了URL。(? 主要用于配合 location.search)
<a href="?">点击此处</a>
Chrome 中即使 javascript:0; 也没变化,firefox中会变成一个字符串0
<a href="javascript:0">点击此处</a>
注:当href的值为####时默认也是取消默认动作,和死链接的效果相同