判断是否为null
1
2
3
4
5
6
<script type="text/javascript">
var tmp = null;
if (tmp == null) {
alert("null");
}
</script>
运行结果:会弹窗null
判断是否为undefined
1
2
3
4
5
6
<script type="text/javascript">
var tmp = undefined;
if (typeof (tmp) == "undefined") {
alert("undefined");
}
</script>
结果:弹出undefined
说明:typeof(a)
的作用是返回变量a的类型的字符串,有六种可能:”number”、”string”、”boolean”、”object”、”function”、”undefined”
判断是否为NaN
1
2
3
4
5
6
7
<script type="text/javascript">
var tmp = 0 / 0;
var temp = parseInt("a");
if (isNaN(tmp) && isNaN(temp)) {
alert("NaN");
}
</script>
结果:弹出NaN,可以看出当出现字符串转化数字异常的时候回返回NaN,0除以0也会返回NaN
说明:如果把NaN与任何值(包括其自身)相比得到的结果均是false,所以要判断某个值是否是NaN,不能使用 == 或 === 运算符。
提示:isNaN()函数通常用于检测parseFloat()和parseInt()的结果,以判断它们表示的是否是合法的数字。当然也可以用isNaN()函数来检测算数错误,比如用0作除数的情况。
判断undefined和null
1
2
3
4
5
6
<script type="text/javascript">
var tmp = undefined;
if (tmp == undefined) {
alert("null or undefined");
}
</script>
或者:
1
2
3
4
5
6
<script type="text/javascript">
var tmp = undefined;
if (tmp == null) {
alert("null or undefined");
}
</script>
结果:都可以弹出:null or undefined
1
2
3
4
5
<script type="text/javascript">
if (null == undefined) {
alert("null == undefined");
}
</script>
结果:弹出: null == undefined
说明:null == undefined
判断undefined、null与NaN
1
2
3
4
5
6
<script type="text/javascript">
var tmp = null; //这里tmp可以使 null undefine NaN 都可以进入判断语句
if (!tmp) {
alert("null or undefined or NaN");
}
</script>
结果:弹出:null or undefined or NaN
总结:一般不那么区分就使用这个足够