的void运算符计算给定表达式,然后返回undefined。
void expression
undefined
的void操作者通常用于获得undefined原始值,通过写入的装置void 0或void(0)。请注意,它void是一个运算符,而不是一个函数,因此()不是必需的。
通常,void表达式的结果undefined可以互换使用。
但是,在早期版本的ECMAScript中,window.undefined可以分配任何值,并且仍然可以使用undefined函数内部函数参数变量的名称,从而破坏了依赖于值的其他代码undefined。
void始终会产生真实的 undefined价值。
void 0在代码压缩中也通常用作较短的编写方法undefined。此外,它可能更安全,因为其他一些代码可能已经对其进行了篡改 window.undefined。
返回undefined:
function foo(){ return void 0; } console.log(foo()); // 未定义
undefined在某个范围内更改值:
(function(undefined){ var str = 'foo'; console.log(str === undefined); // 真正 })('foo');