一.

   <a> 标签定义超链接,用于从一张页面链接到另一张页面。

   <a> 元素最重要的属性是 href 属性,它指示链接的目标。但是不同的href属性的值会<a>链接会有不同的反应,看下面例子:

<body>
<a href="javascript:void(0)" onClick="window.open('https://hao.360.cn/')">点击跳转1</a>
<!-- 点击直接跳转到所要打开的网页 -->
<a href="javascript:void(0)">点击跳转2</a>
<!-- 点击页面没有反应 -->
<a href="#" onClick="window.open('https://hao.360.cn/')" >点击跳转3</a>
<!-- 点击直接跳转到所要打开的网页 -->
<a onClick="window.open('https://hao.360.cn/')">点击跳转4</a>
<!-- 这样写点击跳转4这几个字不会有超链接效果,但跳转页面依然进行 -->
<p>为了测试,使得网页高度大于一个页面</p>
<a href="#">点击跳转5</a>
<!-- 点击页面会滚动到网页的上端 -->
<a href="#" onclick="javascript:return false;">点击跳转6</a>
<!-- 点击页面没有发生变化 -->
</body>

具体效果,后面文字已经说明了每一个的实现效果。

二.

对于,href的"",<a href="#">点击</a>来说,它包含了一个位置信息,默认的锚点是#top 也就是网页的上端,javascript:void(0) 仅仅表示一个死链接

  这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首而javascript:void(0) 则不是如此.

 而对于href的javascript:void(0),<a href="javascript:void(0)">点击</a>是在执行某些处理,但是不整体刷新页面的情况下,可以使用void(0),但是在需要对页面进行refresh的情况下,就不行了。void(0)用的比较多的地方是,无刷新整个页面时也就是Ajax,使用的,看一下Ajaxweb页面的话,一般都会看到有很多的void(0),所以在使用void(0)之前,最好考虑下,这个页面是否需要整体刷新。