js中void 0和undefined的区别

旧巷老猫 提交于 2020-02-20 11:43:45

http://blog.csdn.net/aitangyong/article/details/40309211

http://web.jobbole.com/86145/

综合以上两个博客:

1.void其实是javascript中的一个函数,接受一个参数,返回值永远是undefined。可以说,使用void目的就是为了得到javascript中的undefined。So void 0 is a correct and standard way to produce undefined

  1. void 0  
  2. void (0)  
  3. void "hello"  
  4. void (new Date())  
  5. //all will return undefined  

2.

主要有2个原因:

a、使用void 0比使用undefined能够减少3个字节。

  >"undefined".length                    //9  

       >"void 0".length                            //6  

b.undefined并不是javascript中的保留字,我们可以使用undefined作为变量名字,然后给它赋值。这样就会导致不一定会返回undefined,而void  0却永远可以保证。

   (function(){

    var undefined="haha";

    alert(undefined);     //"haha"

   })()

3.额外篇:

(function() {

  undefined = 10;
  alert(undefined);           // // undefined -- chrome
})();
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!