国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript知識點總結(六)之JavaScript判斷變量數據類型

2019-11-20 09:50:31
字體:
來源:轉載
供稿:網友

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

一、JS中的數據類型

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

   2.布爾型(Boolean)

   3.字符串型(String)

   4.對象(Object)

   5.數組(Array)

   6.空值(Null)

   7.未定義(Undefined)

二、判斷一個變量的數據類型

1.數值型(number)

  比較常用的判斷方法是:

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

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

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

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


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

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

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

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

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

2.布爾型(boolean)

  布爾類型的判斷比較簡單,可以用如下的方法進行判斷:

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

測試代碼:

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

運行結果:

3. 字符串(String)

  字符串類型的判斷比較簡單,可以用如下的方法進行判斷:

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

測試代碼:

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

運行結果:


4.未定義(Undefined)

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

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

測試代碼:

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

運行結果:


5.對象(Object)

  由于當變量是空值Null時,typeof也會返回object,所以Object不能直接用 typeof 判斷。

應該這樣:

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

測試代碼:

<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'的判斷結果是:"+(typeof b ==='object'));alert("變量a是Object類型的判斷結果是:"+isObj(a));//falsealert("變量b是Object類型的判斷結果是:"+isObj(b));//falsealert("變量c是Object類型的判斷結果是:"+isObj(c));//falsealert("變量d是Object類型的判斷結果是:"+isObj(d));//truealert("變量e是Object類型的判斷結果是:"+isObj(e));//true</script> 

運行結果:


6.空值(Null)

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

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

測試代碼:

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

運行結果:


7.數組(Array)

  數組類型不可用typeof來判斷。因為當變量是數組類型是,typeof會返回object。

  這里有兩種方法判斷數組類型:

/*判斷變量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 type="text/javascript">/*判斷變量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;}//測試變量var a = null;var b = "";var c ;var arr = [,,];var arr = new Array();//打印測試結果document.write("arr變量是數組類型,typeof arr === 'object'的結果是:"+(typeof arr === 'object'));document.write("<br/>");document.write("------------------------------------------------------------------------------------------------");document.write("<br/>");document.write("使用isArray方法判斷結果如下:");document.write("<br/>");document.write("------------------------------------------------------------------------------------------------");document.write("<br/>");document.write("變量a是數組類型的判斷結果是:"+isArray(a));document.write("<br/>");document.write("變量b是數組類型的判斷結果是:"+isArray(b));document.write("<br/>");document.write("變量c是數組類型的判斷結果是:"+isArray(c));document.write("<br/>");document.write("變量arr是數組類型的判斷結果是:"+isArray(arr));document.write("<br/>");document.write("變量arr是數組類型的判斷結果是:"+isArray(arr));document.write("<br/>");document.write("------------------------------------------------------------------------------------------------");document.write("<br/>");document.write("使用isArray方法判斷結果如下:");document.write("<br/>");document.write("------------------------------------------------------------------------------------------------");document.write("<br/>");document.write("變量a是數組類型的判斷結果是:"+isArray(a));document.write("<br/>");document.write("變量b是數組類型的判斷結果是:"+isArray(b));document.write("<br/>");document.write("變量c是數組類型的判斷結果是:"+isArray(c));document.write("<br/>");document.write("變量arr是數組類型的判斷結果是:"+isArray(arr));document.write("<br/>");document.write("變量arr是數組類型的判斷結果是:"+isArray(arr));document.write("<br/>");</script> 

運行結果:

  

以上內容是小編給大家介紹的JavaScript知識點總結(六)之JavaScript判斷變量數據類型的相關知識,希望對大家有所幫助,如果大家想了解更多內容敬請關注武林網網站!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中西区| 海淀区| 泌阳县| 海盐县| 海安县| 安阳市| 满洲里市| 新津县| 林州市| 淳化县| 兴国县| 衡阳县| 凯里市| 定边县| 阿勒泰市| 涞源县| 图木舒克市| 湖北省| 寿阳县| 策勒县| 宣恩县| 正蓝旗| 海口市| 赤城县| 庆元县| 仲巴县| 赤峰市| 绍兴市| 富锦市| 潜山县| 正阳县| 利津县| 汉川市| 冕宁县| 湖北省| 陇西县| 兴城市| 耒阳市| 潢川县| 都匀市| 库车县|