为什么 javascript void 语句计算表达式

Why does the javascript void statement evaluate an expression?

本文关键字:计算 表达式 语句 void javascript 为什么      更新时间:2023-09-26

javascript void语句计算表达式,并返回undefined值。这很有用,因为全局变量undefined可以重新定义,但为什么要计算 en 表达式呢?大多数人只使用 0,如

void 0;
void(0);

看着拉古的回答,文件说

此运算符允许将产生副作用的表达式插入到需要计算结果为 undefined 的表达式的位置。

但是你能给我一个例子,你不能只把void(0)放在需要值ùndefined'的位置,并在另一行上评估带有副作用的表达式?

void运算符的主要用途是(或者曾经,因为今天您可能更愿意使用事件处理程序)在单击具有javascript: URL 的链接时阻止任何导航。当此 javascript 函数返回 undefined 时,不会发生导航。void运算符通常是实现这一目标的最短方法。

<a href="javascript: void console.log('click') ">log click to console</a>

或者,更一般

<a href="javascript: void doSomething() ">do something</a>

正如在这把小提琴中看到的

标准文档应该有助于理解为什么它作为一个表达式进行计算,以及大多数人使用它的位置和原因

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void