ES6 - void 关键字


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

以下是相同的语法。

void expression

空函数表达式和立即调用函数表达式

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

考虑以下示例 -

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”) 并传递给 void() 运算符。但是,由于 void 运算符返回 undefined,因此页面上不会显示任何结果。

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