javascript 中 void 0的含义及undefine于void 0区别

undefined是一个全局属性,表示未定义或定义了没有赋值。 
void是一个一元运算符,不管传入什么参数都会返回undefined。 
void操作符是在ECMAScript v1中定义的,而undefined是在ECMAScript v5中定义的。 
 
我们知道undefined不是javascript的保留字,所以我们可以用undefined作为变量名。这时,我们定义的
undefined就会影响到使用undefined作为判断的地方。看下面例子:
测试了主流浏览器IE7-IE11、opera、firefox、safati、chrome
 undefined=123; 
 alert(undefined); //IE7、IE8是123,其余:IE9-IE11、opera、firefox、safati、chrome都是
undefined
 alert(void 0);//IE7-IE11、opera、firefox、safati、chrome都是undefined
最后,总结一下: 
 
使用void 0代替undefined是为了兼容性以及预防代码的不规范(自己修改undefined的值)。 
 
posted @ 2015-11-02 16:19  方晓丹  阅读(490)  评论(0编辑  收藏  举报