最近在研究项目里面的js源码,突然就看到了void 0 这样的表达式,之前也看到过在其他地方也有出现过,但是一直没有研究过,到底void有什么作用。所以,趁着犀牛书还翻的热乎的时候,赶紧学习一下。
1、什么是void
void是一元运算符,出现在操作数的左边,操作数可以是任意类型的值,void右边的表达式可以是带括号形式(例如:void(0)),也可以是不带括号的形式(例如:void 0)。
2、void的功能
void的作用便是返回undefined,在它右边的操作数会正常计算,但是无论结果是什么,void都会返回undefined。
在underscore.js源码中曾经看到过void 0 的出现,后来翻看了关于void的相关文章,拾人牙慧,将void的功能总结了一下:
1)保证取到undefined值,因为这种方法比字面写的undefined值来的更有安全感;
2)当点击某个文字链接时产生某个动画效果但保持页面不刷新时,可以使用下面这种形式:
<a href="javascript:void 0">
具体相关例子以及更深了解可以参考以下链接:
https://segmentfault.com/a/1190000000474941
参考书籍及文章:
1、JavaScript权威指南第6版
2、https://segmentfault.com/a/1190000000474941