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

歡迎訪問 生活随笔!

生活随笔

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

javascript

浅玩JavaScript的数据类型判断

發布時間:2025/7/14 javascript 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅玩JavaScript的数据类型判断 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

平常在需要進行類型判斷時,隨手拿起typeof就像手槍一樣只管突突突...也沒有仔細的去了解它的具體特性。
所以這里就利用空閑時間,來做一個較為詳細的了解。

首先我們來全面看一遍typeof類型的檢測情況:

這里我給一組比較詳細的數據類型變量:

1 var s = new String('abc'), 2 n = 123, 3 b = true, 4 a = new Array(), 5 o = new Object(), 6 d = new Date(), 7 u = undefined, 8 f = function(){}, 9 w = window, 10 doc = document, 11 r = new RegExp(), 12 m = Math, 13 t = window.setTimeout, 14 _s = '123', 15 _n = null, 16 _d = document.body, 17 _nan = NaN;

下面我們用typeof分別來檢測這些變量的數據類型,看看具體的返回結果:

typeof s --> stringtypeof n --> numbertypeof b --> booleantypeof a --> objecttypeof o --> objecttypeof d --> objecttypeof u --> undefinedtypeof f --> functiontypeof w --> objecttypeof doc --> objecttypeof r --> objecttypeof m --> objecttypoef t --> functiontypeof _s --> numbertypoef _n --> objecttypeof _d --> objecttypeof _nan --> number

通過以上測試,可以很肯定的說typeof最多只可檢查5種數據類型:??string,number,boolean,underfined,object??。
實際上JavaScript也只有這5種數據類型。
像Date、Array、Function、HTMLElement、Math、RegExp這些數據,在JavaScript中,他們都是Object對象的再次包裝,所以用typeof檢測它們就會返回 object 類型。
但是在實際的運用中,如果將 Date、Array、Function、HTMLElement、Math、RegExp 都作為object類型看待,就很不切實際。
幸運的是,我們可以從這些對象的構造函數(constructor)上獲得到代表它們具體的含義的信息。

例如:?

a.constructor.toString() -- > "function Array() { [native code] }";

所以通過結合typeof、Object.constructor 這兩種方法,自己編寫了一個檢測類型的方法:

1 function getType(){ 2 3 var value = arguments[0], 4 type = function(){ 5 return /\w+\s(\w+)\(\)\s.+?/.test(value.constructor.toString()) ? RegExp.$1.toLowerCase() : 'arguments except'; 6 }; 7 8 if(typeof value){ 9 return value !== null ? value !== undefined ? type() : 'undefined' : 'null'; 10 }else{ 11 return 'undefined'; 12 } 13 14 }

另外對于typeof在使用上還有一個小技巧。用typeof檢測一個不存在“變量”的數據類型時,并不會報錯,而是返回undefined。
而在以前,對與不確定的代碼,我們都是通過try{}catch(e){...} 進行嘗試運行的。

最后在查閱typeof的資料時。順便也簡單的看了下 instanceof 運算符的介紹。
總的來說,instanceof運算符是用于“檢測左側參數是否是右側參數的一個實例”。如果是,則返回true,否則返回false
示例:

1 var p = new person(); 2 p instanceof person // --> true;

在這個示例中因為p是構造函數的person的一個實例,所以通過instanceof運算符得到的就是true。
這一點,可以在?p.constructor == 'function person(){}' ?得到應征。
再稍微復雜的還有:

1 function person(){} 2 function animal(){} 3 4 persion.prototype = new animal(); 5 var p = new person(); 6 p instanceof persion() //--> true 7 p instanceof animal() //--> true

?

---------------- 好了... 睡覺去.... --------- 明天繼續奮斗!!!! ---------------

轉載于:https://www.cnblogs.com/HCJJ/p/6032236.html

總結

以上是生活随笔為你收集整理的浅玩JavaScript的数据类型判断的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美性猛交久久久乱大交小说 | 深爱激情久久 | 91偷拍一区二区三区精品 | 日韩综合在线观看 | 麻豆成人免费 | 97超碰人人模人人人爽人人爱 | 国产成人啪免费观看软件 | 影音先锋中文字幕在线播放 | 日日干夜夜艹 | 成人免费视频播放 | 精品人妻久久久久久888不卡 | 天堂资源在线播放 | 五月婷婷一区二区 | 男人天堂一区二区 | 大地资源中文第三页 | 精品视频在线观看 | 久久免费视频网站 | 操丝袜少妇 | 美女av免费看| 日韩成人午夜 | 久久久久久久久久久久97 | 欧美黑人性受xxxx精品 | 国产成人精品免高潮在线观看 | 日韩精品第1页 | 国产真人做爰毛片视频直播 | 国产欧美精品久久 | 波多野结衣亚洲天堂 | 国产老头老太作爱视频 | 97香蕉超级碰碰久久免费软件 | 午夜视频在线免费播放 | 欧美大片一区二区三区 | 日韩欧美小视频 | av不卡一区二区三区 | 秋霞欧美视频 | 国产精品爽 | 国产女人高潮时对白 | 欧美三级视频网站 | 亚洲天堂av片 | 少妇人妻综合久久中文字幕 | gay男互凵gay男同偷精 | 久久中文一区 | 国产欧美一区二区三区另类精品 | 麻豆视频观看 | 日本黄网在线观看 | av在线免播放器 | 男女一区| 中文在线字幕免费观看电 | www一起操| 夜久久久 | 亚洲精品日日夜夜 | 日本精品影院 | 亚洲国产日韩欧美在线观看 | 在线免费观看视频黄 | 久久少妇网 | 久久亚洲精品中文字幕 | 制服丝袜在线播放 | 日韩午夜影院 | 欧美资源在线观看 | 浮力影院草草 | 国产性生活一级片 | 中文字幕+乱码+中文 | xx在线视频 | 亚洲久久久久久 | 根深蒂固在线观看 | 激情亚洲视频 | 日韩国产欧美在线视频 | av在线不卡免费 | 黑人巨大精品欧美一区免费视频 | 国产成人精品av久久 | 尤物国产视频 | 国产精品美女 | 在线观看毛片视频 | 成人在线视频一区二区 | 黄色毛毛片| 欧美不卡在线观看 | 欧美日韩亚洲国产另类 | 清冷学长被爆c躁到高潮失禁 | 国产传媒在线视频 | 亚洲四虎av | 日韩精品在线网站 | 丰满肉肉bbwwbbww| 久久久噜噜噜www成人网 | 日本一区二区在线免费观看 | 丁香六月av | 女女调教被c哭捆绑喷水百合 | 婷婷激情图片 | 久久精品国产亚洲AV无码男同 | 色导航| 欧美少妇xxxxx | 久久国产经典 | 国产精品调教 | 久久99精品久久久 | 日本免费黄色小视频 | 91亚洲国产 | 日本一级黄色 | 色噜噜综合网 | 狂野欧美性猛交xxⅹ李丽珍 | 亚洲欧美va天堂人熟伦 | 色综合天天色 |