ES6 - void关键字



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

以下是相同的语法。

void expression

void 和立即调用函数表达式

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

考虑以下示例:

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

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

hello world

void 和 JavaScript URI

JavaScript: URI 是 HTML 页面中常见的语法。浏览器计算 URI 并用返回的值替换页面的内容。除非返回的值是 undefined,否则这是正确的。此运算符最常见的用途是在客户端 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,因此页面上不会显示任何结果。

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

广告