日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

区分JavaScript中的undefined,null和NaN

發(fā)布時間:2023/12/19 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 区分JavaScript中的undefined,null和NaN 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

區(qū)分underfined,null和NaN

先看看下面語句的運行結果:

1: var a; 2: alert(a); //顯示"undefined" 3: alert(typeof a); //顯示"undefined" 4: alert(b); //顯示"undefined"

以上說明a的值和類型都是'underfined'

1: var a = null; 2: alert(a); //顯示"null" 3: alert(typeof a); //顯示"object"

以上說明賦值為null的變量,值為null,類型為object

1: var b; 2: alert(null==b); // 顯示"true" 3: alert(null == undefined); //顯示"true "

以上說明undefined與null是相等的

1: var a1; //值和類型都是'underfined' 2: var a2 = null; //值為null,類型為object 3: alert(a1 == a2); //顯示"true"

以上兩例說明null和underfind很相似,至少undefined與null是相等的。

1: alert(100 + null); //顯示"100" 2: alert(100 + undefined); //顯示"NaN"

以上說明null和underfind雖然很相似,但還是有小區(qū)別的,嘿嘿!

underfined: 未知的變量名,或未賦值的變量。
null: 特殊的object
NaN: 特殊的number

1: alert(typeof(undefined));//顯示 'undefined' 2: alert(typeof(null));//顯示 'object' 3: alert(typeof(""));//顯示 'string' 4: alert(typeof(0));//顯示 'number' 5: alert(typeof(false));//顯示 'boolean' 6: 7: var a7 = NaN; 8: var a8 = undefined; 9: 10: alert(typeof a7); //顯示"number" 11: alert(typeof a8); //顯示"undefined" 以上說明NaN是一種特殊的number,和null、undefined都不會相等。

函數參數沒有和為空的判斷

先看看下面的例子:

1: Test = function(a) 2: { 3: alert(typeof a); 4: } 5:? 6: Test(); //沒傳參數,運行結果為"underfined" 7: Test(null); //傳了空參數,運行結果為"object", 如果要使用a.length等,就會報錯,因為對象為空!

正確的參數檢查是:

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: }

當然,也可以用 if(v) 來簡化編碼,可以檢查v沒給定和v為null的情況,但要注意,如果傳入一個boolean的true或false,用if(v)就意味著 if( v == true),代碼邏輯可能不是你想要的結果!

  • ExtJS+ASP.NET實現真實的進度條顯示服務器端長時間操作的進度
  • ExtJS+ASP.NET實現異步Tree的節(jié)點搜索和查找下一個(FindNext)
  • ExtJS+ASP.NET實現Tree節(jié)點的拖動(DragDrop)
  • ExtJS+ASP.NET實現Grid到Tree的拖動(DragDrop)
  • 使用YUI Compressor和DOS批處理腳本壓縮JavaScript和CSS
  • 優(yōu)化JavaScript
  • 區(qū)分JavaScript中的underfined,null和NaN

總結

以上是生活随笔為你收集整理的区分JavaScript中的undefined,null和NaN的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。