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!"); } }
时间: 2024-10-13 15:14:38