JavaScript void 运算符
void定义:
void 运算符对给定的表达式进行求值,然后返回undefined。void是一个一元运算符,接受单个操作数,可以是任何类型,返回一个 undefined。
void语法:
void 在表达式的左边,void 右边的表达式可以是带括号形式(例如:void(0)),也可以是不带括号的形式(例如:void 0)。
void作用:
当我们只需要评估一个表达式而不是返回其值时,void关键字的重要性就发挥出来了。这意味着,通过使用它,我们可以阻止浏览器显示表达式执行的结果。
我们在阻止a标签的默认行为时候就使用到void
<a href="javascript:void(0);"></a>
<a href="javascript:void(0);">这个链接点击之后不会做任何事情,如果去掉 void(),点击之后整个页面会被替换成一个字符 0。
</a>
立即调用的函数表达式
在使用立即执行的函数表达式时,可以使用void运算符让js引擎吧一个function关键字识别成函数表达式而不是函数声明
无
有void:
在一些箭头函数中,若此函数没有对应的返回值,可能会造成一些不可预估的问题,安全起见,对没有返回的函数,可以在前面加上void
var fos = () => {return void bar()
}
fos()
为什么要使用void
void和undefined有什么区别:
undefined属于基础类型且还是全局类型,全局类型还可以被更改、被赋值。
void属于运算符,运算符只能被求值计算,不能被赋值更改。
所以在安全层面上来说 void比undefined更安全。所以在源码中一般都是使用void xx这种方式来获取undefined,比直接使用undefined来的更加安全可靠。
如:
export default function isUndefined(input) {return input === void 0;
}