欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript知識(shí)點(diǎn)總結(jié)(六)之JavaScript判斷變量數(shù)據(jù)類型

 更新時(shí)間:2016年05月31日 14:27:42   作者:孤傲蒼狼  
這篇文章主要介紹了JavaScript知識(shí)點(diǎn)總結(jié)(六)之JavaScript判斷變量數(shù)據(jù)類型的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下

最近做了一個(gè)項(xiàng)目,其中有關(guān)于js判斷數(shù)據(jù)類型的處理,在網(wǎng)上搜了相關(guān)資料,并且親自測(cè)試了各種數(shù)據(jù)類型的判斷,絕對(duì)安全。下面小編把具體內(nèi)容總結(jié)分享給大家,大家參考下!

一、JS中的數(shù)據(jù)類型

   1.數(shù)值型(Number):包括整數(shù)、浮點(diǎn)數(shù)。

   2.布爾型(Boolean)

   3.字符串型(String)

   4.對(duì)象(Object)

   5.數(shù)組(Array)

   6.空值(Null)

   7.未定義(Undefined)

二、判斷一個(gè)變量的數(shù)據(jù)類型

1.數(shù)值型(number)

  比較常用的判斷方法是:

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

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

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

  這里彈出來(lái)的是true,如下圖所示:


  但實(shí)際上變量a是NaN,它是不能用于數(shù)值運(yùn)算的。

  所以上面的函數(shù)可以修改為:

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

修改了之后,彈出來(lái)的就是false,如下圖所示:

  順便介紹一下JavaScript isFinite() 函數(shù),isFinite() 函數(shù)用于檢查其參數(shù)是否是無(wú)窮大,如果 number 是有限數(shù)字(或可轉(zhuǎn)換為有限數(shù)字),那么返回 true。否則,如果 number 是 NaN(非數(shù)字),或者是正、負(fù)無(wú)窮大的數(shù),則返回 false。

2.布爾型(boolean)

  布爾類型的判斷比較簡(jiǎn)單,可以用如下的方法進(jìn)行判斷:

/*
判斷變量val是不是布爾類型
*/
function isBooleanType(val) {
return typeof val ==="boolean";
} 

測(cè)試代碼:

<script type="text/javascript">
/*
判斷變量val是不是布爾類型
*/
function isBooleanType(val) {
return typeof val ==="boolean";
}
var a;
var b = false;
alert("變量a是布爾類型的判斷結(jié)果是:"+isBooleanType(a));
alert("變量b是布爾類型的判斷結(jié)果是:"+isBooleanType(b));
</script> 

運(yùn)行結(jié)果:

3. 字符串(String)

  字符串類型的判斷比較簡(jiǎn)單,可以用如下的方法進(jìn)行判斷:

/*
判斷變量是不是字符串類型
*/
function isStringType(val) {
return typeof val === "string";
} 

測(cè)試代碼:

<script type="text/javascript">
/*
判斷變量是不是字符串類型
*/
function isStringType(val) {
return typeof val === "string";
}
var a;
var s = "strType";
alert("變量a是字符串類型的判斷結(jié)果是:"+isStringType(a));
alert("變量s是字符串類型的判斷結(jié)果是:"+isStringType(s));
</script> 

運(yùn)行結(jié)果:


4.未定義(Undefined)

  未定義的判斷比較簡(jiǎn)單,可以用如下的方法進(jìn)行判斷:

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

測(cè)試代碼:

<script type="text/javascript">
var a;//a是undefined
var s = "strType";
/*
判斷變量是不是Undefined
*/
function isUndefined(val) {
return typeof val === "undefined";
}
alert("變量a是Undefined的判斷結(jié)果是:"+isUndefined(a));
alert("變量s是Undefined的判斷結(jié)果是:"+isUndefined(s));
</script> 

運(yùn)行結(jié)果:


5.對(duì)象(Object)

  由于當(dāng)變量是空值Null時(shí),typeof也會(huì)返回object,所以O(shè)bject不能直接用 typeof 判斷。

應(yīng)該這樣:

function isObj(str){
if(str === null || typeof str === 'undefined'){
return false;
}
return typeof str === 'object';
} 

測(cè)試代碼:

<script type="text/javascript">
/*
判斷變量是不是Object類型
*/
function isObj(str){
if(str === null || typeof str === 'undefined'){
return false;
}
return typeof str === 'object';
}
var a;
var b = null;
var c = "str";
var d = {};
var e = new Object();
alert("b的值是null,typeof b ==='object'的判斷結(jié)果是:"+(typeof b ==='object'));
alert("變量a是Object類型的判斷結(jié)果是:"+isObj(a));//false
alert("變量b是Object類型的判斷結(jié)果是:"+isObj(b));//false
alert("變量c是Object類型的判斷結(jié)果是:"+isObj(c));//false
alert("變量d是Object類型的判斷結(jié)果是:"+isObj(d));//true
alert("變量e是Object類型的判斷結(jié)果是:"+isObj(e));//true
</script> 

運(yùn)行結(jié)果:


6.空值(Null)

  判斷空值用 val === null 即可

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

測(cè)試代碼:

/*
判斷變量是不是null
*/
function isNull(val){
return val === null;
}
/*測(cè)試變量*/
var a;
var b = null;
var c = "str";
//彈出運(yùn)行結(jié)果
alert("變量a是null的判斷結(jié)果是:"+isNull(a));//false
alert("變量b是null類型的判斷結(jié)果是:"+isNull(b));//true
alert("變量c是null類型的判斷結(jié)果是:"+isNull(c));//false 

運(yùn)行結(jié)果:


7.數(shù)組(Array)

  數(shù)組類型不可用typeof來(lái)判斷。因?yàn)楫?dāng)變量是數(shù)組類型是,typeof會(huì)返回object。

  這里有兩種方法判斷數(shù)組類型:

/*判斷變量arr是不是數(shù)組
方法一
*/
function isArray(arr) {
return Object.prototype.toString.apply(arr) === '[object Array]';
}
/*判斷變量arr是不是數(shù)組
方法二
*/
function isArray(arr) {
if(arr === null || typeof arr === 'undefined'){
return false;
}
return arr.constructor === Array;
}

測(cè)試代碼:

<script type="text/javascript">
/*判斷變量arr是不是數(shù)組
方法一
*/
function isArray(arr) {
return Object.prototype.toString.apply(arr) === '[object Array]';
}
/*判斷變量arr是不是數(shù)組
方法二
*/
function isArray(arr) {
if(arr === null || typeof arr === 'undefined'){
return false;
}
return arr.constructor === Array;
}
//測(cè)試變量
var a = null;
var b = "";
var c ;
var arr = [,,];
var arr = new Array();
//打印測(cè)試結(jié)果
document.write("arr變量是數(shù)組類型,typeof arr === 'object'的結(jié)果是:"+(typeof arr === 'object'));
document.write("<br/>");
document.write("------------------------------------------------------------------------------------------------");
document.write("<br/>");
document.write("使用isArray方法判斷結(jié)果如下:");
document.write("<br/>");
document.write("------------------------------------------------------------------------------------------------");
document.write("<br/>");
document.write("變量a是數(shù)組類型的判斷結(jié)果是:"+isArray(a));
document.write("<br/>");
document.write("變量b是數(shù)組類型的判斷結(jié)果是:"+isArray(b));
document.write("<br/>");
document.write("變量c是數(shù)組類型的判斷結(jié)果是:"+isArray(c));
document.write("<br/>");
document.write("變量arr是數(shù)組類型的判斷結(jié)果是:"+isArray(arr));
document.write("<br/>");
document.write("變量arr是數(shù)組類型的判斷結(jié)果是:"+isArray(arr));
document.write("<br/>");
document.write("------------------------------------------------------------------------------------------------");
document.write("<br/>");
document.write("使用isArray方法判斷結(jié)果如下:");
document.write("<br/>");
document.write("------------------------------------------------------------------------------------------------");
document.write("<br/>");
document.write("變量a是數(shù)組類型的判斷結(jié)果是:"+isArray(a));
document.write("<br/>");
document.write("變量b是數(shù)組類型的判斷結(jié)果是:"+isArray(b));
document.write("<br/>");
document.write("變量c是數(shù)組類型的判斷結(jié)果是:"+isArray(c));
document.write("<br/>");
document.write("變量arr是數(shù)組類型的判斷結(jié)果是:"+isArray(arr));
document.write("<br/>");
document.write("變量arr是數(shù)組類型的判斷結(jié)果是:"+isArray(arr));
document.write("<br/>");
</script> 

運(yùn)行結(jié)果:

  

以上內(nèi)容是小編給大家介紹的JavaScript知識(shí)點(diǎn)總結(jié)(六)之JavaScript判斷變量數(shù)據(jù)類型的相關(guān)知識(shí),希望對(duì)大家有所幫助,如果大家想了解更多內(nèi)容敬請(qǐng)關(guān)注腳本之家網(wǎng)站!

相關(guān)文章

最新評(píng)論