js原生中 a 标签 href=“JavaScript:;”有什么用?还有那些用法

我理解的是这样的:

首先:<a> 标签中必须提供 href 属性

但是这个就出现了一个问题,如果我不想让他跳转,那么这个时候href应该怎么赋值。有三种方法:

第一:href=‘javascript:;’

    代表的是发生动作时执行一段javascript代码,但是这个代码是空的,所以什么也不执行

第二:href = ‘’:

    代表的是什么也不执行,但是用这种,动作发生之后,会刷新页面。

第三:href=‘#’:

    代表的同样是什么也不执行,但是用这种,动作发生之后,会自动跳转到页面顶端。