當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
区分JavaScript中的undefined,null和NaN
生活随笔
收集整理的這篇文章主要介紹了
区分JavaScript中的undefined,null和NaN
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
區(qū)分underfined,null和NaN
先看看下面語(yǔ)句的運(yùn)行結(jié)果:
1: var a; 2: alert(a); //顯示"undefined" 3: alert(typeof a); //顯示"undefined" 4: alert(b); //顯示"undefined"以上說(shuō)明a的值和類(lèi)型都是'underfined'
1: var a = null; 2: alert(a); //顯示"null" 3: alert(typeof a); //顯示"object"以上說(shuō)明賦值為null的變量,值為null,類(lèi)型為object
1: var b; 2: alert(null==b); // 顯示"true" 3: alert(null == undefined); //顯示"true "以上說(shuō)明undefined與null是相等的
1: var a1; //值和類(lèi)型都是'underfined' 2: var a2 = null; //值為null,類(lèi)型為object 3: alert(a1 == a2); //顯示"true"以上兩例說(shuō)明null和underfind很相似,至少u(mài)ndefined與null是相等的。
1: alert(100 + null); //顯示"100" 2: alert(100 + undefined); //顯示"NaN"以上說(shuō)明null和underfind雖然很相似,但還是有小區(qū)別的,嘿嘿!
underfined: 未知的變量名,或未賦值的變量。
null: 特殊的object
NaN: 特殊的number
函數(shù)參數(shù)沒(méi)有和為空的判斷
先看看下面的例子:
1: Test = function(a) 2: { 3: alert(typeof a); 4: } 5:? 6: Test(); //沒(méi)傳參數(shù),運(yùn)行結(jié)果為"underfined" 7: Test(null); //傳了空參數(shù),運(yùn)行結(jié)果為"object", 如果要使用a.length等,就會(huì)報(bào)錯(cuò),因?yàn)閷?duì)象為空!正確的參數(shù)檢查是:
1: Test = function(v) 2: { 3: if (v !== null && typeof v != 'undefined') 4: { 5: //使用v的屬性,例如v.length, v.property 6: // if (v.offsetX != undefined) 7: // if ( value == undefined ) 8: } 9: }當(dāng)然,也可以用 if(v) 來(lái)簡(jiǎn)化編碼,可以檢查v沒(méi)給定和v為null的情況,但要注意,如果傳入一個(gè)boolean的true或false,用if(v)就意味著 if( v == true),代碼邏輯可能不是你想要的結(jié)果!
- ExtJS+ASP.NET實(shí)現(xiàn)真實(shí)的進(jìn)度條顯示服務(wù)器端長(zhǎng)時(shí)間操作的進(jìn)度
- ExtJS+ASP.NET實(shí)現(xiàn)異步Tree的節(jié)點(diǎn)搜索和查找下一個(gè)(FindNext)
- ExtJS+ASP.NET實(shí)現(xiàn)Tree節(jié)點(diǎn)的拖動(dòng)(DragDrop)
- ExtJS+ASP.NET實(shí)現(xiàn)Grid到Tree的拖動(dòng)(DragDrop)
- 使用YUI Compressor和DOS批處理腳本壓縮JavaScript和CSS
- 優(yōu)化JavaScript
- 區(qū)分JavaScript中的underfined,null和NaN
總結(jié)
以上是生活随笔為你收集整理的区分JavaScript中的undefined,null和NaN的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用.NET读取XML文件
- 下一篇: 双硬盘奇怪问题...