js判斷undefined類(lèi)型
今天使用showModalDialog打開(kāi)頁(yè)面,返回值時(shí)。當(dāng)打開(kāi)的頁(yè)面點(diǎn)擊關(guān)閉按鈕或直接點(diǎn)瀏覽器上的關(guān)閉則返回值是undefined
所以自作聰明判斷
var reValue=window.showModalDialog("","","");
if (reValue== undefined){
alert("undefined");
}
發(fā)現(xiàn)判斷不出來(lái),最后查了下資料要用typeof
方法:
if (typeof(reValue) == "undefined") {
alert("undefined");
}
typeof 返回的是字符串,有六種可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"
js中undefined,null,NaN的區(qū)別
1.類(lèi)型分析:
js中的數(shù)據(jù)類(lèi)型有undefined,boolean,number,string,object等5種,前4種為原始類(lèi)型,第5種為引用類(lèi)型。
var a1;
var a2 = true;
var a3 = 1;
var a4 = "Hello";
var a5 = new Object();
var a6 = null;
var a7 = NaN;
var a8 = undefined;
alert(typeof a); //顯示"undefined"
alert(typeof a1); //顯示"undefined"
alert(typeof a2); //顯示"boolean"
alert(typeof a3); //顯示"number"
alert(typeof a4); //顯示"string"
alert(typeof a5); //顯示"object"
alert(typeof a6); //顯示"object"
alert(typeof a7); //顯示"number"
alert(typeof a8); //顯示"undefined"
從上面的代碼中可以看出未定義的值和定義未賦值的為undefined,null是一種特殊的object,NaN是一種特殊的number。
2.比較運(yùn)算
var a1; //a1的值為undefined
var a2 = null;
var a3 = NaN;
alert(a1 == a2); //顯示"true"
alert(a1 != a2); //顯示"false"
alert(a1 == a3); //顯示"false"
alert(a1 != a3); //顯示"true"
alert(a2 == a3); //顯示"false"
alert(a2 != a3); //顯示"true"
alert(a3 == a3); //顯示"false"
alert(a3 != a3); //顯示"true"
從上面的代碼可以得出結(jié)論:(1)undefined與null是相等;(2)NaN與任何值都不相等,與自己也不相等。
JavaScript undefined 屬性
定義和用法
undefined 屬性用于存放 JavaScript 的 undefined 值。
語(yǔ)法
undefined
說(shuō)明
無(wú)法使用 for/in 循環(huán)來(lái)枚舉 undefined 屬性,也不能用 delete 運(yùn)算符來(lái)刪除它。
undefined 不是常量,可以把它設(shè)置為其他值。
當(dāng)嘗試讀取不存在的對(duì)象屬性時(shí)也會(huì)返回 undefined。
提示和注釋
提示:只能用 === 運(yùn)算來(lái)測(cè)試某個(gè)值是否是未定義的,因?yàn)?== 運(yùn)算符認(rèn)為 undefined 值等價(jià)于 null。
注釋?zhuān)簄ull 表示無(wú)值,而 undefined 表示一個(gè)未聲明的變量,或已聲明但沒(méi)有賦值的變量,或一個(gè)并不存在的對(duì)象屬性。
實(shí)例
在本例中,我們將檢測(cè)兩個(gè)變量中未定義的一個(gè):
<script type="text/javascript">
var t1=""
var t2
if (t1===undefined) {document.write("t1 is undefined")}
if (t2===undefined) {document.write("t2 is undefined")}
</script>
輸出:
t2 is undefined
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注