void 0

zepto源码中出现,this === void 0,下面就是解释:
 

void 关键词会执行后面的表达式然会返回undefined

 
例如:
void 0
void (0)
void "hello"
void (new Date())
最后都是会返回undefined的
 
那么这样做意义是什么:
因为undefined不是一个保留的关键词,在某些旧的浏览器,你可以对他进行赋值:
alert(undefined); //alerts "undefined"
var undefined = "new value";
alert(undefined) //alerts "new value"
 
因此你不能依赖它,特别是在写通用框架之类的时候
 
而void是不能被覆盖改写的,因此void 0会一直返回undefined
为什么是0呢,因为0很多,而且很常用,void 323也可以,但是看上去更奇怪
 

posted on 2016-01-28 15:23  迷茫小飞侠  阅读(179)  评论(0编辑  收藏  举报

导航