ES6 - 无效关键字

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并使用返回的值替换页面的内容.除非返回的值未定义,否则这是真的.此运算符的最常见用法是在客户端 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,页面上不会显示任何结果.

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