js null, undefined, NaN, ‘’, false, 0, ==, === 全验证
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<input type="text" id="input_test"/>
<script>
var test = function(a){
// NaN, undefined
if(a != a){
alert('NaN / undefined');
}
// null
if(a == null){
alert('==null');
}
if(a === null){
alert('===null');
}
// undefined
if(a == undefined){
alert('==undefined');
}
if(a === undefined){
alert('===undefined');
}
// ''
if(a == ''){
alert("==''");
}
if(a === ''){
alert("===''");
}
// false
if (a == false) {
alert("==false");
}
if (a === false) {
alert("===false");
}
// 0
if (a == 0) {
alert("==0");
}
if (a === 0) {
alert("===0");
}
alert('验证结束');
};
// 验证未定义
var a; // ==null, ==undefined ===undefined
// console.log(typeof a); // undefined
var b = null; // ==null, ===null, ==undefined
// console.log(typeof b); // object
var c = 0; // =='', ==false, ==0, ===0,
// console.log(typeof c); // number
var d = ''; // =='', ==='', ==false, ==0,
// console.log(typeof d); // string
var e = {}; // 都不等于
// console.log(typeof e); // object
var f = []; // =='', ==false, ==0,
// console.log(typeof f); // object
var input = document.getElementById('input_test');
// test(input.value); // =='', ==='', ==false, ==0,
// console.log(typeof input.value); // string
var g = "abc";
var f = Number(g);
//test(f); // NaN
// console.log(typeof f); // number
var h = false; // =='', ==false, ===false, ==0,
// console.log(typeof h); // boolean
// i 未声明
// console.log(typeof i); // undefined
</script>
</body>
</html>