ES6 - void 关键字
void 是 JavaScript 中的一个重要关键字,可用作出现在其单个操作数之前的一元运算符,该操作数可以是任何类型。此运算符指定要评估的表达式,但不返回值。该运算符计算给定表达式的值,然后返回未定义。
以下是其语法。
void 表达式
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 运算符返回未定义,因此页面上不会显示任何结果。
另一方面,单击第二个超链接时会显示一个警告对话框。