10

据我了解,voidJavascript 中的关键字是某种函数,它接受一个参数并始终返回undefined值。出于某种原因,您需要向它传递一个参数;没有它就行不通。

有什么理由需要这个论点吗?

重点是什么?为什么没有争论就行不通。我看到的唯一用途是产生undefined结果。它还有其他用途吗?

如果不是,那么传递表达式的要求似乎毫无意义。

4

2 回答 2

9

根据此页面https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void void 是一个运算符,它undefined在评估您传递给它的表达式后简单地返回。操作员需要一个操作数来操作。这就是传递参数的原因。

console.log(void true);
console.log(void 0);
console.log(void "Welcome");
console.log(void(true));
console.log(void(0));
console.log(void("Welcome"));

所有这些语句都会打印undefined

var a = 1, b = 2;
void(a = a + b)
console.log(a);

这将打印3. 因此,很明显,它评估我们传递给它的表达式。

编辑:正如我从这个答案中学到的那样https://stackoverflow.com/a/7452352/1903116

undefined只是一个可以写入的全局属性。例如,

console.log(undefined);
var undefined = 1;
console.log(undefined);

它打印

undefined
1

所以,如果你想绝对确保undefined使用了,你可以使用void操作符。因为它是一个运算符,所以它不能在 javascript 中被覆盖。

于 2013-10-14T19:19:30.757 回答
3

void还评估您传递给它的表达式。它不只是返回undefined

于 2013-10-14T19:19:56.383 回答