中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中的數據類型有哪些分類

發布時間:2020-11-19 14:31:23 來源:億速云 閱讀:308 作者:Leah 欄目:開發技術

這篇文章給大家介紹JavaScript中的數據類型有哪些分類,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

數據類型判斷的方法

在探索數據類型判斷方法的時候我們需要知道JS中有哪些數據類型:

我們可以把JS中數據類型分為兩類:

1.基本數據類型:Undefined、Null、Boolean、Number、String、Symbol(es6中新增)

2.引用類型(復雜數據類型):里面包含 function、Array、Date 等

判斷數據類型的方法有幾種

1.typeof

我相信typeof這個判斷數據類型的方法是大家平常用的比較多的,閑話不多說,直接上代碼:

console.log(typeof 1);//number
console.log(typeof 'hello');//string
console.log(typeof true);//boolean
console.log(typeof null);//object
console.log(typeof Symbol(1));//symbol
console.log(typeof undefined);//undefined
console.log(typeof function(){});//function
console.log(typeof []);//object
console.log(typeof {});//object

通過以上代碼和輸出我們大概可以看出,typeof這個判斷能判斷出大部分的數據類型,但是基本類型中有null的類型被判斷為object

所以這個判斷還不是那么精確,我們需要其它判斷方法

2.instanceof 用于檢測構造函數的 prototype 屬性是否出現在某個實例的原型鏈上

1.instanceof 左為實例,右為構造函數。即判斷左是不是右的實例對象。內部機制是通過原型鏈來判斷的

2.instanceof 可以精準判斷引用數據類型 Array,Function,Object,而基本數據類型不能被 instanceof 精準判斷,因為它本身不是一個實例對象

console.log(2 instanceof Number);//false
console.log(new Number(2) instanceof Number);//true
console.log('str' instanceof String); //false
console.log(new String('str') instanceof String); //true
console.log([] instanceof Array);//true
console.log([]instanceof Object);//true
console.log({} instanceof Object);//true
console.log({} instanceof Array);//false
console.log(function(){} instanceof Function); // true 

在以上代碼中,我們可以看出這個判斷方法還是沒解決實際性的問題,比如我們想判斷null為null,所以接下來介紹一個精確的判斷方法

3.Object.prototype.toString.call()

1.使用 Object 對象的原型方法 toString,使用 call 改變 this 指向

見代碼:

const a = Object.prototype.toString;
console.log(a.call(2)); // [object Number]
console.log(a.call(true)); // [object Boolean]
console.log(a.call('str')); // [object String]
console.log(a.call(Symbol())) // [object Symbol]
console.log(a.call([])); // [object Array]
console.log(a.call(function(){})); // [object Function]
console.log(a.call({})); // [object Object]
console.log(a.call(undefined)); // [object Undefined]
console.log(a.call(null)); // [object Null]
console.log(a.call(new Date())) // [object Date]
console.log(a.call(new Error())) // [object Error]
console.log(a.call(new RegExp())) // [object RegExp

見上面輸出可知,Object.prototype.toString.call()可以判斷出復雜類型中的Array,Function,Date等類型,所以我們知道,當我們需要判斷復雜類型時,或者判斷簡單數據類型中的null為null時我們可以用次方法,判斷簡單類型中的其他數據類型我們可以用typeof來判斷就可以

關于JavaScript中的數據類型有哪些分類就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通江县| 仪征市| 吉林省| 眉山市| 丹寨县| 望都县| 忻城县| 偏关县| 安塞县| 响水县| 黄梅县| 库尔勒市| 武汉市| 碌曲县| 克山县| 龙山县| 镇宁| 宜兰县| 皋兰县| 廉江市| 望城县| 惠来县| 嘉鱼县| 团风县| 金山区| 大同市| 乌拉特后旗| 阳江市| 安图县| 麟游县| 阳朔县| 胶南市| 集贤县| 澄江县| 金门县| 青铜峡市| 安西县| 孟津县| 错那县| 东山县| 和田市|