据我所知,Javascript 中的关键字 void
是一种接受一个参数并始终返回 undefined
值的函数。出于某种原因,你需要给它传递一个参数;没有它就无法工作。
有什么理由需要这个参数吗?
重点是什么?为什么没有争论它就不能工作。我看到它的唯一用途是产生 undefined
结果。它还有其他用途吗?
如果不是,那么传递表达式的要求似乎毫无意义。
最佳答案
根据此页面 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 中被覆盖。
关于javascript - 为什么 JavaScript 中的 void 需要参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19367589/