首頁  >  文章  >  web前端  >  JavaScript判斷變數資料型別

JavaScript判斷變數資料型別

高洛峰
高洛峰原創
2017-01-14 10:12:231287瀏覽

最近做了一個項目,其中有關於js判斷資料類型的處理,在網路上搜了相關資料,並且親自測試了各種資料類型的判斷,絕對安全。下面小編把具體內容總結分享給大家,大家參考下!

一、JS中的資料型態

   1.數值型(Number):包含整數、浮點數。

   2.布林型(Boolean)

   3.字串型(String)

『  4.物件(Object)

『  6.空值(Null)

  但有些情況就不行,例如:

function isNumber(val){
return typeof val === 'number';
}

  這裡彈出來的是true,如下圖所示:



  但實際上變數a是NaN,它是不能用於數值運算的。


  所以上面的函數可以修改為:

var a;
alert(isNumber(parseInt(a)));

修改了之後,彈出來的就是false,如下圖所示:


  連函數介紹一下函數介紹一下函數來檢查一下函數來其參數是否為無窮大,如果number 是有限數字(或可轉換為有限數字),則傳回true。否則,如果 number 是 NaN(非數字),或是正、負無窮大的數,則傳回 false。

2.布林型(boolean)

JavaScript判斷變數資料型別

  布林類型的判斷比較簡單,可以用以下的方法來判斷:

function isNumber(val){
return typeof val === 'number' && isFinite(val);
}

測試程式碼:

/*
判断变量val是不是布尔类型
*/
function isBooleanType(val) {
return typeof val ==="boolean";
}

運作結果:

測試程式String)

  字串類型的判斷比較簡單,可以用以下的方法來判斷:JavaScript判斷變數資料型別

/*
判断变量是不是字符串类型
*/
function isStringType(val) {
return typeof val === "string";
}

  


測試程式碼:


的定義

  未定義的判斷比較簡單,可以用以下的方法來判斷:

/*
判断变量是不是Undefined
*/
function isUndefined(val) {
return typeof val === "undefined";
}

測試程式碼:

運行結果:

JavaScript判斷變數資料型別

5.物件(Object)


5.物件(Object)


. ,typeof也會回傳object,所以Object不能直接用typeof 來判斷。

應該是:

function isObj(str){
if(str === null || typeof str === 'undefined'){
return false;
}
return typeof str === 'object';
}
JavaScript判斷變數資料型別測試程式碼:


運作結果:

JavaScript判斷變數資料型別

測試程式碼:

function isNull(val){
return val === null;
}


運作結果:

7.陣列(Array)


〜『因為當變數是數組類型是,typeof會傳回object。

  這裡有兩種方法判斷陣列類型:JavaScript判斷變數資料型別

/*
判断变量是不是null
*/
function isNull(val){
return val === null;
}
/*测试变量*/
var a;
var b = null;
var c = "str";
//弹出运行结果
alert("变量a是null的判断结果是:"+isNull(a));//false
alert("变量b是null类型的判断结果是:"+isNull(b));//true
alert("变量c是null类型的判断结果是:"+isNull(c));//false


測試程式碼:

/*判断变量arr是不是数组
方法一
*/
function isArray(arr) {
return Object.prototype.toString.apply(arr) === '[object Array]';
}
/*判断变量arr是不是数组
方法二
*/
function isArray(arr) {
if(arr === null || typeof arr === 'undefined'){
return false;
}
return arr.constructor === Array;
}

 


Script知識點總結(六)之JavaScript判斷變數資料型別的相關知識,希望對大家有幫助,如果大家想了解更多內容敬請關注PHP中文網!

更多JavaScript判斷變數資料類型相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn