色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

JS數據類型分類及常用判斷方法

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

數據類型判斷的方法

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

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

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

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

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

1.typeof

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

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

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

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

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

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

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

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 

在以上代碼中,我們可以看出這個判斷方法還是沒解決實際性的問題,比如我們想判斷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
相關文章:
主站蜘蛛池模板: 国产孕妇做受视频在线观看 | 一区二区三区在线观看视频 | 日韩欧美一区二区久久 | 在线成人免费观看国产精品 | 在线播放 亚洲 | 日韩国产欧美一区二区三区在线 | 亚洲夜色| 久草热视频在线观看 | 亚洲国产精品久久精品成人 | 日本成人免费在线观看 | 一级毛片大全 | 一级做a爰片久久毛片美女 一级做a爰片久久毛片免费看 | 国产精品久久亚洲一区二区 | 国产一区二区三区欧美 | 亚洲美女在线视频 | 欧美三级网 | 大尺度福利视频在线观看网址 | 亚洲成人福利网站 | 国产一区二区三区美女在线观看 | 台湾三级香港三级在线中文 | 99r8这是只有精品视频9 | 亚洲理论片在线观看 | 久久综合中文字幕一区二区 | 国产亚洲精品九九久在线观看 | 午夜性爽快免费视频播放 | 国产精品久久久精品视频 | 国产免费专区 | 黄色在线视屏 | 成人污网站| 性盈盈影院影院 | 国产精品99在线观看 | 97国内免费久久久久久久久久 | 一区二区三区免费看 | 在线观看毛片视频 | 欧美国产成人免费观看永久视频 | 真人一级毛片全部免 | 免费特黄一级欧美大片 | 日本欧美韩国一区二区三区 | 毛片免费全部播放一级 | 67194欧美成l人在线观看免费 | 久久精品国产精品青草色艺 |