首页 > 代码库 > Javascript中的null、undefined、NaN
Javascript中的null、undefined、NaN
1、判断彼此是否相等
function btnClick(){ alert(null == null);//true alert(undefined==undefined);//true alert(NaN==NaN);//false }
总结:
(1)两个null是相等的
(2)两个undefined是相等的
(3)两个NaN是不相等的
function btnClick(){ alert(null == undefined);//true alert(null === undefined);//false alert(null == NaN);//false alert(undefined == NaN);//false }
总结:
(1)null和undefined是使用“==”是相等的,而使用“===”是不相等的
(2)null和NaN是不相等的
(3)undefined和NaN是不相等的
function btnClick(){ alert(typeof(null));//object alert(typeof(undefined));//undefined }
总结:
(1)typeof(null)的结果是"object"
(2)typeof(undefined)的结果是"undefined"
2、判断是否为null、undefined、NaN
使用==、===、isXxx、typeof、instanceof
2.1、判断是否为undefined
正确的做法:
var tmp = undefined; function btnClick(){ if(typeof(tmp)=="undefined"){ alert("tmp is undefined!"); } }
或者
var tmp = null; function btnClick(){ if(tmp === undefined){ alert("tmp is undefined!"); } }
错误的做法:
var tmp = undefined; // null,undefined function btnClick(){ if(tmp == undefined){ alert("tmp is undefined!"); } }
分析:如果使用tmp==undefined,无论tmp的值是null或undefined,都会判断为true。
2.2、判断是否为null
正确的做法:
var tmp = null; // null,NaN,undefined function btnClick(){ if(!tmp && typeof(tmp)!="undefined" && !isNaN(tmp)){ alert("tmp is null!"); } }
或者
var tmp = null; // null,NaN,undefined function btnClick(){ if(tmp==null && typeof(tmp)!="undefined"){ alert("tmp is null!"); } }
2.3、判断是否为NaN
正确的做法:
var tmp = NaN; // null,NaN,undefined function btnClick(){ if(isNaN(tmp) && typeof(tmp)!="undefined"){ alert("tmp is NaN!"); } }
2.4、判断是否为null或undefined
正确的做法:
var tmp = null; // null,NaN,undefined function btnClick(){ if(tmp == null){ alert("tmp is null or undefined!"); } }
或者
var tmp = undefined; // null,NaN,undefined function btnClick(){ if(tmp == undefined){ alert("tmp is null or undefined!"); } }
2.5、判断是否为undefined或NaN
正确做法:
var tmp = NaN; // null,NaN,undefined function btnClick(){ if(isNaN(tmp)){ alert("tmp is NaN or undefined!"); } }
2.6、判断是否为null或undefined或NaN
正确的做法:
var tmp = null; // null,NaN,undefined function btnClick(){ if(!tmp){ alert("tmp is null or undefined or NaN!"); } }
Javascript中的null、undefined、NaN
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。