最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)文章

  • 談?wù)凧avaScript中function多重理解

    談?wù)凧avaScript中function多重理解

    Function是javascript里最常用的一個(gè)概念,javascript里的function是最容易入手的一個(gè)功能,但它也是javascript最難理解最難掌握的一個(gè)概念,接下來(lái)通過(guò)本篇文章給大家介紹javascript中的function多重理解,小伙伴們一起來(lái)學(xué)習(xí)吧
    2015-08-08
  • js實(shí)現(xiàn)一個(gè)逐步遞增的數(shù)字動(dòng)畫(huà)

    js實(shí)現(xiàn)一個(gè)逐步遞增的數(shù)字動(dòng)畫(huà)

    可視化大屏項(xiàng)目使用最多的組件就是數(shù)字組件,本文主要介紹了js實(shí)現(xiàn)一個(gè)逐步遞增的數(shù)字動(dòng)畫(huà),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • javascript中break,continue和return語(yǔ)句用法小結(jié)

    javascript中break,continue和return語(yǔ)句用法小結(jié)

    break,continue和return這三個(gè)語(yǔ)句的用法新手們經(jīng)常弄混淆,至少在我學(xué)習(xí)c語(yǔ)言的時(shí)候經(jīng)常把它們的用法給搞錯(cuò)。不過(guò)現(xiàn)在好了,我已徹底搞清楚它們之間的用法
    2012-05-05
  • Bootstrap輸入框組件使用詳解

    Bootstrap輸入框組件使用詳解

    這篇文章主要為大家詳細(xì)介紹了Bootstrap輸入框組件的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • js實(shí)現(xiàn)遍歷含有input的table實(shí)例

    js實(shí)現(xiàn)遍歷含有input的table實(shí)例

    這篇文章主要介紹了js實(shí)現(xiàn)遍歷含有input的table方法,結(jié)合實(shí)例形式分析了jsp讀取數(shù)據(jù)庫(kù)動(dòng)態(tài)生成table及JavaScript遍歷table的相關(guān)技巧,需要的朋友可以參考下
    2015-12-12
  • SyntaxHighlighter代碼加色使用方法

    SyntaxHighlighter代碼加色使用方法

    原名:SyntaxHighlighter,是一款用于web頁(yè)面的代碼著色工具,可以用來(lái)著色多種語(yǔ)言,可以是HTML,CSS,Javascript,還可以是C,JAVA等編程語(yǔ)言。最早見(jiàn)于Yahoo的YUI,當(dāng)時(shí)還屬于自由軟件,最近打開(kāi)官方網(wǎng)站發(fā)現(xiàn)已被goolge收編。
    2008-09-09
  • Egg Vue SSR 服務(wù)端渲染數(shù)據(jù)請(qǐng)求與asyncData

    Egg Vue SSR 服務(wù)端渲染數(shù)據(jù)請(qǐng)求與asyncData

    這篇文章主要介紹了Egg Vue SSR 服務(wù)端渲染數(shù)據(jù)請(qǐng)求與asyncData,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 使用apifm-wxapi快速開(kāi)發(fā)小程序過(guò)程詳解

    使用apifm-wxapi快速開(kāi)發(fā)小程序過(guò)程詳解

    這篇文章主要介紹了使用apifm-wxapi快速開(kāi)發(fā)小程序過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • JavaScript查看代碼運(yùn)行效率console.time()與console.timeEnd()用法

    JavaScript查看代碼運(yùn)行效率console.time()與console.timeEnd()用法

    今天小編就為大家分享一篇關(guān)于JavaScript查看代碼運(yùn)行效率console.time()與console.timeEnd()用法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • 淺談javascript中的instanceof和typeof

    淺談javascript中的instanceof和typeof

    這篇文章主要簡(jiǎn)單介紹了javascript中的instanceof和typeof的相關(guān)資料,需要的朋友可以參考下
    2015-02-02

最新評(píng)論

开原市| 松江区| 辽阳市| 通道| 昌黎县| 台前县| 乌拉特前旗| 阿坝县| 潍坊市| 乃东县| 介休市| 涟水县| 淄博市| 河源市| 六枝特区| 呼玛县| 曲阜市| 凯里市| 安宁市| 广丰县| 醴陵市| 永川市| 青神县| 玉林市| 简阳市| 闸北区| 伊宁市| 南华县| 六枝特区| 漳平市| 祁门县| 北安市| 朝阳区| 太保市| 巧家县| 西平县| 永修县| 纳雍县| 栖霞市| 仁寿县| 定州市|