寫了個 str ="s"++;
然后出現Nan,找了一會。
收集資料如下判斷:
1.判斷undefined:
1
2
3
4
|
var
tmp = undefined;
if
(
typeof
(tmp) ==
"undefined"
){
alert(
"undefined"
);
}
|
說明:typeof 返回的是字符串,有六種可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"
2.判斷null:
1
2
3
4
|
var
tmp =
null
;
if
(!tmp &&
typeof
(tmp)!=
"undefined"
&& tmp!=0){
alert(
"null"
);
}
|
3.判斷NaN:
1
2
3
4
|
var
tmp = 0/0;
if
(isNaN(tmp)){
alert(
"NaN"
);
}
|
說明:如果把 NaN 與任何值(包括其自身)相比得到的結果均是 false,所以要判斷某個值是否是 NaN,不能使用 == 或 === 運算符。
提示:isNaN() 函數通常用於檢測 parseFloat() 和 parseInt() 的結果,以判斷它們表示的是否是合法的數字。當然也可以用 isNaN() 函數來檢測算數錯誤,比如用 0 作除數的情況。
4.判斷undefined和null:
1
2
3
4
5
|
var
tmp = undefined;
if
(tmp== undefined)
{
alert(
"null or undefined"
);
}
|
1
2
3
4
5
|
var
tmp = undefined;
if
(tmp==
null
)
{
alert(
"null or undefined"
);
}
|
說明:null==undefined
<!--EndFragment-->
5.判斷undefined、null與NaN:
1
2
3
4
5
|
var
tmp =
null
;
if
(!tmp)
{
alert(
"null or undefined or NaN"
);
}
|
提示:一般不那么區分就使用這個足夠。
轉自:https://www.cnblogs.com/pangguoming/p/7690816.html