void 是一个前缀表达式,总是会返回undefined。
void 0
void (0)
void "hello"
void (new Date())
//all will return undefined
这种表达式有什么意义呢?
在使用undefined的时候,undefined不是一个保留字,意味着undefined可以为变量名,这就导致undefined可以被赋予新值
alert(undefined); //alerts "undefined"
var undefined = "new value";
alert(undefined) //alerts "new value"
这样就不能完全依赖undefined会有正确的值(undefined)。
然而void 表达式不会被覆盖,总能返回undefined。void 0 只是习惯上的用法,你也可以使用void 1 or void 2或者其他