js中void 0和undefined的区别

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
})();

转载于:https://www.cnblogs.com/yyzyxy/p/7754815.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值