JavaScript中javascript:void(0)的含义与用法详解

作者:像素漫游时间:2026-10-29 14:20:58浏览:532

本文深入解析JavaScript中javascript:void(0)的含义。void是JavaScript的关键字,用于指定计算表达式但不返回值。通过对比href="#"和href="javascript:void(0)",说明前者会改变URL并可能引起页面滚动,而后者仅表示死链接,不会改变URL。此外,还介绍了void在表单提交、自定义函数调用等场景中的应用,帮助开发者正确使用该语法。

在Web开发中,我们常遇到javascript:void(0)这样的代码。那么,它在JavaScript中究竟代表什么含义呢?

javascript:void(0)的核心在于void关键字。void是JavaScript中一个重要的操作符,它的作用是计算一个表达式但不返回任何值。

其语法格式主要有两种:

void func() javascript:void func()

或者:

void(func()) javascript:void(func())

下面这段代码创建了一个超级链接,当用户点击该链接时,页面不会发生任何跳转或刷新。

示例

<a href="javascript:void(0)">单击此处什么也不会发生</a>

当用户点击链接时,void(0)会被计算为0,但在JavaScript层面没有任何实际效果,页面也不会跳转。

以下示例展示了在用户点击链接后,会弹出一个警告信息:

示例

<p>点击以下链接查看结果:</p> <a href="javascript:void(alert('Warning!!!'))">点我!</a>

在以下示例中,参数a将返回undefined:

示例


function getValue(){
  var a,b,c;
  a = void ( b = 5, c = 7 );
  document.write('a = ' + a + ' b = ' + b +' c = ' + c );
}

href="#"与href="javascript:void(0)"的区别 # 包含了一个位置信息,默认的锚是#top 也就是网页的上端。

而javascript:void(0), 仅仅表示一个死链接。

在页面很长的时候会使用 # 来定位页面的具体位置,格式为:# + id。

如果你要定义一个死链接请使用 javascript:void(0) 。


<a href="javascript:void(0);">点我没有反应的!</a>
<a href="#pos">点我定位到指定位置!</a>
<br>
...
<br>
<p id="pos">尾部定位点</p>

补充说明

void()仅仅代表不返回任何值,但是括号内的表达式还是要运行,例如:

void(alert("Warnning!"))

// 阻止链接跳转,URL不会有任何变化 <a href="javascript:void(0)" rel="nofollow ugc">点击此处</a>

// 虽然阻止了链接跳转,但URL尾部会多个#,改变了当前URL。(# 主要用于配合 location.hash) <a href="#" rel="nofollow ugc">点击此处</a>

// 同理,# 可以的话,? 也能达到阻止页面跳转的效果,但也相同的改变了URL。(? 主要用于配合 location.search) <a href="?" rel="nofollow ugc">点击此处</a>

// Chrome 中即使 javascript:0; 也没变化,firefox中会变成一个字符串0 <a href="javascript:0" rel="nofollow ugc">点击此处</a>

其他补充内容

在Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。

我想使用过ajax的都常见这样的代码:

代码如下:

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

但这儿的void(0)究竟是何含义呢?

void 操作符用法格式如下:

1. javascript:void (expression)

2. javascript:void expression

expression 是一个要计算的 Javascript 标准的表达式。表达式外侧的圆括号是选的,但是写上去是一个好习惯。 (实现版本 Navigator 3.0 )

你以使用 void 操作符指定超级链接。表达式会被计算但是不会当前文档处装入任何内容。

下面的代码创建了一个超级链接,当用户以后不会发生任何事。当用户链接时,void(0) 计算为 0,但 Javascript 上没有任何效果。

代码如下:

<A HREF="javascript:void(0)">单此处什么也不会发生</A>

下面的代码创建了一个超级链接,用户单时会提交表单。

代码如下:

<A HREF="javascript:void(document.form.submit())">单此处提交表单</A>

a href=#与 a href=javascript:void(0) 的区别 链接的几种办法

#包含了一个位置信息

默认的锚是#top 也就是网页的上端

而javascript:void(0) 仅仅表示一个死链接

这就是为什么有的时候页面很长浏览链接明明是#是

跳动到了页首

而javascript:void(0) 则不是如此

所以调用脚本的时候最好用void(0)

或者<input onclick>

<div onclick>等

链接的几种办法

1.window.open(''url'')

2.用自定义函数


 <script>
 function openWin(tag,obj)
 {
 obj.target="_blank";
 obj.href = "Web/Substation/Substation.aspx?stationno="+tag;
 obj.click();
 }
 </script>
<a href="javascript:void(0)" onclick="openWin(3,this)">株洲</a>
window.location.href=""

以上内容介绍了js中javascript:void(0) 真正含义,希望对大家今后的工作和学习有所帮助。

作者最新文章