午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

JS數(shù)據(jù)類(lèi)型分類(lèi)及常用判斷方法

瀏覽:172日期:2024-04-12 10:33:48

數(shù)據(jù)類(lèi)型判斷的方法

在探索數(shù)據(jù)類(lèi)型判斷方法的時(shí)候我們需要知道JS中有哪些數(shù)據(jù)類(lèi)型:

我們可以把JS中數(shù)據(jù)類(lèi)型分為兩類(lèi):

1.基本數(shù)據(jù)類(lèi)型:Undefined、Null、Boolean、Number、String、Symbol(es6中新增)

2.引用類(lèi)型(復(fù)雜數(shù)據(jù)類(lèi)型):里面包含 function、Array、Date 等

判斷數(shù)據(jù)類(lèi)型的方法有幾種

1.typeof

我相信typeof這個(gè)判斷數(shù)據(jù)類(lèi)型的方法是大家平常用的比較多的,閑話(huà)不多說(shuō),直接上代碼:

console.log(typeof 1);//numberconsole.log(typeof ’hello’);//stringconsole.log(typeof true);//booleanconsole.log(typeof null);//objectconsole.log(typeof Symbol(1));//symbolconsole.log(typeof undefined);//undefinedconsole.log(typeof function(){});//functionconsole.log(typeof []);//objectconsole.log(typeof {});//object

通過(guò)以上代碼和輸出我們大概可以看出,typeof這個(gè)判斷能判斷出大部分的數(shù)據(jù)類(lèi)型,但是基本類(lèi)型中有null的類(lèi)型被判斷為object

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

2.instanceof 用于檢測(cè)構(gòu)造函數(shù)的 prototype 屬性是否出現(xiàn)在某個(gè)實(shí)例的原型鏈上

1.instanceof 左為實(shí)例,右為構(gòu)造函數(shù)。即判斷左是不是右的實(shí)例對(duì)象。內(nèi)部機(jī)制是通過(guò)原型鏈來(lái)判斷的

2.instanceof 可以精準(zhǔn)判斷引用數(shù)據(jù)類(lèi)型 Array,F(xiàn)unction,Object,而基本數(shù)據(jù)類(lèi)型不能被 instanceof 精準(zhǔn)判斷,因?yàn)樗旧聿皇且粋€(gè)實(shí)例對(duì)象

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

在以上代碼中,我們可以看出這個(gè)判斷方法還是沒(méi)解決實(shí)際性的問(wèn)題,比如我們想判斷null為null,所以接下來(lái)介紹一個(gè)精確的判斷方法

3.Object.prototype.toString.call()

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

見(jiàn)代碼:

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

見(jiàn)上面輸出可知,Object.prototype.toString.call()可以判斷出復(fù)雜類(lèi)型中的Array,F(xiàn)unction,Date等類(lèi)型,所以我們知道,當(dāng)我們需要判斷復(fù)雜類(lèi)型時(shí),或者判斷簡(jiǎn)單數(shù)據(jù)類(lèi)型中的null為null時(shí)我們可以用次方法,判斷簡(jiǎn)單類(lèi)型中的其他數(shù)據(jù)類(lèi)型我們可以用typeof來(lái)判斷就可以

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 无码少妇一区二区三区 | 国产色诱视频 | 久草超碰在线 | 国产亚洲欧洲 | 色偷偷偷偷| 澳门av在线 | 日韩小视频在线 | 欧美人与性动交a欧美精品 天天干天天天天 | 午夜在线视频观看 | 亚洲免费高清视频 | 四虎地址 | 久久久综合久久久 | 色黄视频 | 澳门av在线 | 欧美视频亚洲视频 | 在线免费中文字幕 | 超碰中文在线 | 国产淫语| 四虎黄色影院 | 在线免费看av | 在线视频日本 | 97黄色| 欧美一级免费看 | 黄网在线免费看 | 九九日韩 | 人人爽爽人人 | 精品久久国产视频 | 亚洲免费专区 | 成人黄性视频 | 日本一级大毛片a一 | 福利在线看 | 亚洲骚图| 午夜精品久久久久久久久 | 国产一级片a| 成人在线观| 久久精品视频一区 | 超碰1000 | 国产又爽又黄又嫩又猛又粗 | 成人va视频| 亚洲一二三视频 | 国产福利网站 |