undefined==null引发的两者区别与联系 |
貌似以前也看过null==undefined,null!==undefined,但也一直没有在意 。 近日看过去别人的一程序源码,到处都有一些如if(x!=undefined&&x!=null&&x!="")之类的判断,突然觉得写的很啰嗦,俺一般都直接if(x){}因为不论null、undefined、""在条件判断中其实都是false,何需如此啰嗦?(不过要注意如果你的x==0也是合法值的话就不能使用if(x){}来做条件判断了) 为了证明这种多余,俺也特意做了以下测试: var a; alert(x) if(x==null){ alert(failed) } 其中x为一个未初始化的变量,即undefined 。 运行以上代码:先后弹出undefined和failed,说明x==null是符合条件的 。 我们可以直接alert(null==undefined)其实也可以发现返回了true 。 这都说明进行x==null||x==undefined或x!=null&&x!=undefined之类的写法纯属多余! 一般只需判断null或undefined一个即可 。 |