1. 简单现象
undefined == void 0 // true
undefined == void(0) // true
undeined == void 100 // true
2.原理
void unaryExpression
a.执行unaryExpression,unaryExpression的返回值赋值给expr;
b.调用内置函数getValue(expr);
c. 返回undefined;
3.应用场景
a.替代undefined
由于undefined不是javascript的保留字,可以对其赋值,虽然现代浏览器赋值无效,但为了保持兼容性,可以通过 void方式来代替undefined。
关于undefinded还有一种方式保证其值:
(function(window,document,undefined){
........
})(window,document)
b.img/href 中通过javascript:void(0)的使用
refer:
https://segmentfault.com/a/1190000000474941
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void