详解JavaScript中void语句的使用

作者:拾光时间:2026-10-29 10:35:26浏览:308

本文详细解析JavaScript中的void关键字,阐述其作为一元运算符的语法结构,包括直接调用与括号包裹两种形式。重点介绍其在HTML链接中的常见应用,如通过javascript:void(0)阻止页面跳转,以及利用alert触发副作用而不返回值的技巧。此外,还展示了如何利用void生成undefined值及处理逗号表达式,帮助开发者准确掌握该语句的实际用途与限制。

void运算符的基本语法

void是JavaScript中的一个重要关键字,它作为一元运算符出现在其单个操作数之前,该操作数可以是任意数据类型。

该运算符的作用是指定表达式无需返回任何值,仅执行计算过程。其语法格式主要有以下两种形式:


<head>
<script type="text/javascript">
<!--
void func()
javascript:void func()

或者采用括号包裹的形式:


void(func())
javascript:void(func())
//-->
</script>
</head>

void在HTML链接中的应用

示例1:

这一操作在客户端JavaScript中最常见的应用场景是HTML链接。它用于评估具有边界效应的表达式,同时不将计算结果返回给浏览器显示。

例如,表达式 alert('Warning!!!') 会被执行以触发警告框,但计算结果不会加载或显示在当前文档中:


<head>
<script type="text/javascript">
<!--
//-->
</script>
</head>
<body>
<a href="javascript:void(alert('Warning!!!'))">Click me!</a>
</body>

示例2:

另一个例子是下面的链接,点击后没有任何反应,因为表达式“0”在JavaScript中不产生任何可见影响。这里,表达式“0”被计算执行,但其结果不会返回到当前文档:


<head>
<script type="text/javascript">
<!--
//-->
</script>
</head>
<body>
<a href="javascript:void(0))">Click me!</a>
</body>

利用void生成undefined值

示例3:

void的另一个用途是故意生成undefined(未定义)的值,如下例所示:


<head>
<script type="text/javascript">
<!--
function getValue(){
  var a,b,c;

  a = void ( b = 5, c = 7 );
  document.write('a = ' + a + ' b = ' + b +' c = ' + c );
}
//-->
</script>
</head>

作者最新文章