ES 6 void关键字

void是JavaScript中的一个重要关键字,可以用作在单个操作数之前出现的一元运算符,该操作数可以是任何类型。此运算符指定要计算的表达式,但不返回值。运算符计算给定的表达式,然后返回undefined。

语法

void expression

void和立即调用的函数表达式

使用立即调用的函数表达式时,可以使用void强制将函数关键字视为表达式而不是声明。

考虑以下示例:

void function iife_void() { 
   var msg = function () {console.log("hello world")}; 
   msg(); 
}();

成功执行上述代码后,将显示以下输出:

hello world

void和javascript uri

javascript:uri是HTML页面中常见的语法。浏览器计算URI并用返回的值替换页面内容。除非返回的值未定义,否则为真。此运算符最常见的用法是在客户端javascript:url中,它允许您评估表达式的副作用,而无需浏览器显示评估表达式的值。

考虑以下代码段:

<a href = "javascript:void(javascript:alert('hello world!!'))"> 
  Click here to do nothing 
</a> 
<br/><br/><br/> 
<a href = "javascript:alert('hello');">Click here for an alert</a>

将上述文件另存为HTML文档,然后在浏览器中将其打开。单击时,第一个超链接将计算javascript:alert('hello world!!'),并传递给void()运算符。但是,由于void运算符返回undefined,因此页面上不会显示任何结果。

另一方面,单击第二个超链接时会显示一个警报对话框。