日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

詳解JavaScript數據類型和判斷方法

瀏覽:181日期:2023-10-15 11:54:16

前言

JavaScript 中目前有 7 種基本(原始primitives)數據類型 Undefined, Null,Boolean, Number, String,BigInt,Symbol,以及一種引用類型 Object,Object 中又包括 Function,Date,JSON,RegExp等,除了 7 種原始類型,其他的所有能夠用 new 實例化的內置類型都是 Object 構造的。

數據類型

對于數據了類型我們可以通過 typeof 運算符來判斷,具體結果看下圖。

詳解JavaScript數據類型和判斷方法

原始類型中兩個比較特殊的就是 Undefined 和 Null,他們兩個類型都只有一個值就是 undefined 和 null。

Undefined

undefined 一般表示我們未對變量進行初始化。使用 typeof 操作符的時候,如果是未聲明變量,同樣也會返回 undefined,再比如未設置返回值的函數執行的結果是 undefined,未設置的參數也會被默認為 undefined。最后還有一點需要注意的是,undefined 并不是 js 的保留字,并且是全局對象的一個屬性,在瀏覽器環境中就是 window.undefined。當在局部環境中,我們是可以自己給 undefined 屬性賦值的,也就是重寫 undefined,所以為了確保我們使用的 undefined 是未被重寫的,我們可以使用 void 0 來代替。

Null

null 可以簡單理解為一個未被創建的對象,比如我們使用 document.getElementById 并沒有找到對應元素的時候就會返回 null。null 和 undefined 有一些區別,在轉換為 Number 的時候,null 會轉換為 0 而 undefined 會轉換為 NaN,執行 typeof 運算的時候,undefined返回 undefined 而 null 返回 object。使用 == 判斷兩者相等會返回 true,所以為了防止誤判一般我們使用全等 ===。null 是所有對象原型鏈的終點,Object.prototype.__proto__ === null。

關于 null 的使用,當我們聲明一個變量是用來存儲對象我們可以先賦值為 null,當一個對象不再需要的時候,我們可以設置為 null 解除這個引用。

Symbol 和 BigInt

這兩個都是 ES6 新增的原始數據類型,Symbol 類型的數據通過 Symbol() 方法的執行產生,不過需要注意的是 Symbol 不能作為構造函數,每個從 Symbol() 返回的 symbol 值都是唯一的。一個 symbol 值能作為對象屬性的標識符;這是該數據類型僅有的目的。

而 BigInt 則是為了精確表示超出雙精度浮點數的最大安全表示范圍的大數而新增的基本數據類型。

判斷數據類型的方法

typeof 運算符

最簡單的判斷數據類型的方法是 typeof 運算符,返回值為字符串。typeof 的缺點是除了 Function 以外的其他所有對象的返回值都是 object (null 的返回值也是 object),如果我們需要區分不同的對象,就無法使用 typeof。

instanceof 運算符

instanceof 運算符是檢測構造函數的原型是否出現在某個對象的原型鏈上。通過 instanceof 運算符我們可以實現對 Object 類型的細分,確定屬于哪種對象。但是 instanceof 的缺點是只能對對象進行檢測,對于基本數據類型的實例無法檢測(字面量無法檢測,但是通過基本包裝類型的構造函數創建的基本類型可以進行檢測)。

constructor 屬性

利用實例的 constructor 屬性來輔助判斷實例的數據類型也是一種手段。一般來說,實例本身是沒有 constructor 屬性的,我們所看到的屬性都是 實例.__proto__.constructor,換言之也就是實例的構造函數,這種方式對基本數據類型也是有效的。這種方法的一個比較大的問題是 constructor 屬性是個不受保護的屬性,隨時可能被更改,我們既可以給實例增加 constructor 屬性,也可以修改構造函數的 prototype 的引用,也可以直接修改原型的 constructor 屬性。

Object.prototype.toString.call()

這是最安全準確的檢測數據類型的方法,每一種數據類型的構造函數的原型上都有 toString 方法,但是除了 Object.prototype上的 toString 是用來返回當前實例所屬類的信息(檢測數據類型的),其余的都是轉換為字符串的。該方法可以準確檢測所有內置類型。自定義類型的返回值為 Object Object

let toString = Object.prototype.toString //=>Object.prototype.toStringconsole.log(toString.call(10)); //=>'[object Number]'console.log(toString.call(NaN)); //=>'[object Number]'console.log(toString.call('xxx')); //=>'[object String]'console.log(toString.call(true)); //=>'[object Boolean]'console.log(toString.call(null)); //=>'[object Null]'console.log(toString.call(undefined)); //=>'[object Undefined]'console.log(toString.call(Symbol())); //=>'[object Symbol]'console.log(toString.call(BigInt(10))); //=>'[object BigInt]'console.log(toString.call({xxx:’xxx’})); //=>'[object Object]'console.log(toString.call([10,20])); //=>'[object Array]'console.log(toString.call(/^d+$/)); //=>'[object RegExp]'console.log(toString.call(function(){})); //=>'[object Function]'

以上就是詳解JavaScript數據類型和判斷方法的詳細內容,更多關于JavaScript數據類型和判斷方法的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品一国产精品k频道56| 国产精品网址| 欧美男人天堂| 精品国产18久久久久久二百| 久久99精品久久久久久园产越南 | 国产精品亚洲片在线播放| 亚洲综合婷婷| 四虎在线精品| 日韩精品一区二区三区中文在线| 亚洲色图综合| 亚洲综合小说| 日韩精品国产精品| 一区二区亚洲视频| 日韩精品免费视频一区二区三区| 日韩精品免费视频一区二区三区| 91欧美日韩在线| 国产免费av国片精品草莓男男| 久久精品xxxxx| 国产精品久久久久久久久久齐齐 | 久久精品72免费观看| 日韩国产一二三区| 日韩极品在线观看| 清纯唯美亚洲综合一区| 国产精品最新自拍| 国内揄拍国内精品久久| 伊人久久在线| 最新日韩av| 日韩高清欧美激情| 美女精品视频在线| 亚洲不卡系列| 好看不卡的中文字幕| 香蕉视频成人在线观看| 偷拍亚洲精品| 国产福利一区二区三区在线播放| 精品亚洲a∨一区二区三区18| 麻豆一区二区99久久久久| 日本美女一区| 免费日韩视频| 国产精品nxnn| 亚洲天堂久久| 天堂va欧美ⅴa亚洲va一国产| 鲁大师精品99久久久| 欧洲毛片在线视频免费观看| 天海翼精品一区二区三区| 成人综合一区| 免费成人av在线播放| 麻豆精品蜜桃视频网站| 激情综合在线| 国产欧美日韩精品一区二区免费| 欧产日产国产精品视频| 99国产精品久久久久久久| 日韩中文字幕一区二区三区| 国产精品久久久久9999高清| 精品福利久久久| 99视频精品全国免费| 亚洲欧洲日韩精品在线| 欧美日本久久| 久久99偷拍| 欧美亚洲激情| 综合激情婷婷| 免费一级欧美片在线观看网站| 欧美国产美女| 国产精品毛片在线| 欧美天堂一区二区| 特黄毛片在线观看| 亚洲小说欧美另类婷婷| 在线精品亚洲| 欧美日韩视频免费看| 国产精品99一区二区| 日韩欧美中文字幕在线视频| 久久精品伊人| 午夜欧美精品| 欧美日韩中出| 色婷婷久久久| 亚洲精品美女91| 国内精品麻豆美女在线播放视频| 欧美粗暴jizz性欧美20| 国产精品毛片一区二区三区| 亚洲欧美一级| 欧洲一区二区三区精品| 亚洲深夜影院| 国产日韩精品视频一区二区三区| 日韩免费小视频| 亚洲一区欧美| 日韩欧美在线中字| 日本一区二区三区视频在线看| 久久一区视频| 亚洲免费影视| 成人在线观看免费视频| 中文字幕日本一区二区| 国产91在线播放精品| 蜜桃视频第一区免费观看| 日韩黄色大片| 日韩不卡手机在线v区| 成人免费电影网址| 亚洲乱码视频| 中文一区一区三区高中清不卡免费| 鲁大师影院一区二区三区| 麻豆国产精品视频| 视频在线观看一区| 精品日产乱码久久久久久仙踪林| 欧美日韩国产欧| 精品精品国产三级a∨在线| 欧美a级片一区| 精品免费在线| 日韩和欧美一区二区三区| 激情欧美一区| 久久97视频| 日韩综合一区二区| 亚洲高清成人| 国产精品s色| 日韩精品一二区| 高清久久一区| 国产精品www.| 日韩一区二区三区高清在线观看| 99精品在线观看| 国产精品tv| 蜜桃一区二区三区在线观看| 日韩av一级| 国产精品久久久久久av公交车| 蜜桃av一区二区三区电影| 欧美精品高清| 精品国产91| 麻豆精品蜜桃视频网站| 日韩激情中文字幕| 亚洲欧美伊人| 成人日韩在线观看| 久久久久久久欧美精品| 亚洲小说春色综合另类电影| 久久九九精品| 久久久久国产一区二区| 国产一区二区三区黄网站| 欧美久久精品| 少妇精品久久久一区二区| 亚洲v在线看| 久久精品国产亚洲aⅴ| 国产剧情在线观看一区| 日韩av一区二区在线影视| 亚洲精品美女91| 蜜臀av一区二区三区| 欧美日韩视频| 国产综合亚洲精品一区二| 中国字幕a在线看韩国电影| 国产999精品在线观看| 国产一区二区三区亚洲| 久久爱www.| 国产精品mm| 美腿丝袜亚洲一区| 国产高清亚洲| 国产精品一在线观看| 中文字幕av一区二区三区四区| 亚洲成人免费| 亚洲精品一区二区妖精| 国产亚洲在线| 亚洲九九精品| 日韩va亚洲va欧美va久久| 91大神在线观看线路一区| 天堂久久一区| 久久亚洲人体| 日本不良网站在线观看| 日韩中文首页| 婷婷六月综合| 亚洲午夜久久| 日韩av资源网| 欧美黄色精品| 国产伊人久久| 久久精品亚洲欧美日韩精品中文字幕| 久久激情一区| 男女精品网站| 日韩成人精品一区二区三区| 国产亚洲欧美日韩在线观看一区二区| 国产精品一区二区中文字幕| 国产精品成人一区二区网站软件| 青青草国产成人99久久| 色一区二区三区四区| 成人看片网站| 免费观看在线综合色| 国产欧美一区二区色老头| 精品视频在线你懂得| 香蕉人人精品| 美女精品在线| 久久国产三级精品| 国产精品xxx在线观看| 国产夫妻在线| 亚洲精华国产欧美| 91精品在线免费视频| 精品女同一区二区三区在线观看| 精品国产免费人成网站| 首页欧美精品中文字幕| 国产亚洲电影| 亚洲女同av| 美女国产一区| 国产精品天堂蜜av在线播放| 日韩国产专区| 蜜桃一区二区三区在线| 国产一精品一av一免费爽爽| 美女福利一区二区三区| 免费精品视频| 久久成人av| av不卡在线看|