void是一元运算符,它出现在操作数之前,操作数可以是任意类型,操作数会照常计算,但忽略计算结果并返回undefined。由于void会忽略操作数的值,因此在操作数具有副作用的时候使用void来让程序更具语义。
console.log(void 0); // undefined console.log(void(0)); // undefined
作用:
1.替代undefined
由于undefined并不是一个关键字,其在IE8-浏览器中会被重写,在高版本函数作用域中也会被重写;所以可以用void 0 来替换undefined
2.客户端URL
这个运算符最常用在客户端URL——javascript:URL中,在URL中可以写带有副作用的表达式,而void则让浏览器不必显示这个表达式的计算结果。例如,经常在HTML代码中的<a>标签里使用void运算符。
<a href="javascript:void window.open();">打开一个新窗口</a>
3.阻止默认事件
阻止默认事件的方式是给事件置返回值false
//一般写法 <a href="http://example.com" onclick="fun();return false;">hehe</a>
使用void运算
<a href="javascript:void(fun())">hehe</a>