据我所知,Javascript中的关键字void
是某种函数,它接受一个参数并始终返回undefined
值。出于某种原因,你需要传递一个参数;没有一个它就行不通。
有什么理由要求这个论点吗?
有什么意义?为什么没有争论就行不通。我见过的唯一用途是产生undefined
结果。它还有其他用途吗?
如果没有,那么表达式的要求似乎没有意义。
答案 0 :(得分:7)
根据此页面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中覆盖它。
答案 1 :(得分:2)
void
还会评估传递给它的表达式。它不会只是返回undefined
。