为什么Javascript中的void需要参数?

时间:2013-10-14 19:17:22

标签: javascript void

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

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

有什么意义?为什么没有争论就行不通。我见过的唯一用途是产生undefined结果。它还有其他用途吗?

如果没有,那么表达式的要求似乎没有意义。

2 个答案:

答案 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