js判斷undefined類型,undefined,null, 的區(qū)別詳細(xì)解析
js判斷undefined類型
今天使用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.類型分析:
js中的數(shù)據(jù)類型有undefined,boolean,number,string,object等5種,前4種為原始類型,第5種為引用類型。
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。
注釋:null 表示無(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
- JS中判斷null、undefined與NaN的方法
- JavaScript null和undefined區(qū)別分析
- JS基礎(chǔ)之undefined與null的區(qū)別分析
- JavaScript Undefined,Null類型和NaN值區(qū)別
- Javascript 中 null、NaN和undefined的區(qū)別總結(jié)
- 詳解JavaScript中undefined與null的區(qū)別
- js中 關(guān)于undefined和null的區(qū)別介紹
- JS中null和undefined的區(qū)別
- JavaScript中undefined和null的區(qū)別
- JavaScript中null與undefined的區(qū)別總結(jié)
相關(guān)文章
基于Bootstrap+jQuery.validate實(shí)現(xiàn)表單驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了基于Bootstrap+jQuery.validate實(shí)現(xiàn)表單驗(yàn)證,感興趣的小伙伴們可以參考一下2016-05-05
JavaScript實(shí)現(xiàn)簡(jiǎn)單圖片滾動(dòng)附源碼下載
JavaScript實(shí)現(xiàn)簡(jiǎn)單圖片滾動(dòng),9張圖告訴你,C羅欲哭無(wú)淚,另附源碼下載,方便學(xué)習(xí)2014-06-06
由JavaScript中call()方法引發(fā)的對(duì)面向?qū)ο罄^承機(jī)制call的思考
看到這里的call()方法,以前也看過(guò)手冊(cè),說(shuō)是對(duì)象冒充的,用于繼承的。在jQuery源碼里有點(diǎn)亂,所以就把這部分提取出來(lái),放在一個(gè)單獨(dú)文件中,來(lái)看看具體執(zhí)行。2011-09-09
JavaScript實(shí)現(xiàn)京東購(gòu)物放大鏡和選項(xiàng)卡效果的方法分析
這篇文章主要介紹了JavaScript實(shí)現(xiàn)京東購(gòu)物放大鏡和選項(xiàng)卡效果的方法,結(jié)合實(shí)例形式分析了javascript基于事件響應(yīng)、數(shù)值計(jì)算與頁(yè)面元素動(dòng)態(tài)修改實(shí)現(xiàn)圖片放大功能以及tab選項(xiàng)卡切換效果相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
JavaScript 數(shù)組常見(jiàn)操作技巧 (二)
這篇文章主要介紹了JavaScript 數(shù)組常見(jiàn)操作技巧,上一篇文章已經(jīng)給大家分享了(一),下面緊接上一篇文章分享下面技巧,需要的小伙伴可以參考一下2022-02-02
檢測(cè)是否已安裝 .NET Framework 3.5的js腳本
管理員必須首先確認(rèn)存在 .NET Framework 3.5 運(yùn)行庫(kù),然后才能將 Windows Presentation Foundation (WPF) 應(yīng)用程序部署在面向 .NET Framework 3.5 的系統(tǒng)上。2009-02-02
js嵌套的數(shù)組扁平化:將多維數(shù)組變成一維數(shù)組以及push()與concat()區(qū)別的講解
今天小編就為大家分享一篇關(guān)于js嵌套的數(shù)組扁平化:將多維數(shù)組變成一維數(shù)組以及push()與concat()區(qū)別的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01

