最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2020年11月19日 11:56:18   作者:娃哈哈a爽歪歪  
這篇文章主要介紹了JS數(shù)據(jù)類(lèi)型分類(lèi)及常用判斷方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

數(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);//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

通過(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);//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 

在以上代碼中,我們可以看出這個(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í)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JS操作數(shù)據(jù)庫(kù)的實(shí)例代碼

    JS操作數(shù)據(jù)庫(kù)的實(shí)例代碼

    這篇文章介紹了JS操作數(shù)據(jù)庫(kù)的實(shí)例代碼,有需要的朋友可以參考一下
    2013-10-10
  • uniapp?APP消息推送方案實(shí)現(xiàn)全過(guò)程

    uniapp?APP消息推送方案實(shí)現(xiàn)全過(guò)程

    前段時(shí)間開(kāi)發(fā)app的時(shí)候要開(kāi)始做消息推送功能了,下面這篇文章主要給大家介紹了關(guān)于uniapp?APP消息推送方案實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • 輸入自動(dòng)提示搜索提示功能的javascript:sugggestion.js

    輸入自動(dòng)提示搜索提示功能的javascript:sugggestion.js

    該js文件中的代碼實(shí)現(xiàn)了[輸入自動(dòng)搜索提示]功能,如百度、google搜索框中輸入一些字符會(huì)以下拉列表形式給出一些提示,提高了用戶(hù)體驗(yàn)
    2013-09-09
  • 詳解TypeScript中模塊化開(kāi)發(fā)指南

    詳解TypeScript中模塊化開(kāi)發(fā)指南

    在編程中,模塊是指將相關(guān)的代碼封裝在一起,形成一個(gè)獨(dú)立的單元,在這篇文章中,我們將深入探討在TypeScript中如何定義、導(dǎo)入和導(dǎo)出模塊,感興趣的可以了解一下
    2023-06-06
  • 淺談Redux中間件的實(shí)踐

    淺談Redux中間件的實(shí)踐

    這篇文章主要介紹了淺談Redux中間件的實(shí)踐,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 基于JavaScript實(shí)現(xiàn)貪吃蛇游戲

    基于JavaScript實(shí)現(xiàn)貪吃蛇游戲

    這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • JavaScript中匿名函數(shù)的遞歸調(diào)用

    JavaScript中匿名函數(shù)的遞歸調(diào)用

    本文主要介紹了JavaScript中匿名函數(shù)的遞歸調(diào)用。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • 利用jsPDF實(shí)現(xiàn)將圖片轉(zhuǎn)為pdf

    利用jsPDF實(shí)現(xiàn)將圖片轉(zhuǎn)為pdf

    這篇文章主要為大家詳細(xì)介紹了如何利用jsPDF實(shí)現(xiàn)將圖片轉(zhuǎn)為pdf的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-08-08
  • 如何用js控制css中的float的代碼

    如何用js控制css中的float的代碼

    這里向大家描述一下JS操作css的float屬性的特殊寫(xiě)法,使用js操作css屬性的寫(xiě)法是有一定的規(guī)律的,對(duì)于沒(méi)有中劃線的css屬性一般直接使用style.屬性名即可
    2007-08-08
  • 微信小程序webview 腳手架使用詳解

    微信小程序webview 腳手架使用詳解

    這篇文章主要介紹了微信小程序webview 腳手架使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值
    2019-07-07

最新評(píng)論

长葛市| 伊宁市| 兴仁县| 桂阳县| 六安市| 贵南县| 拜泉县| 凤城市| 沙坪坝区| 南安市| 宕昌县| 扎兰屯市| 项城市| 淳安县| 元江| 怀来县| 石阡县| 丹凤县| 东阿县| 淮北市| 日照市| 博兴县| 镇坪县| 闽侯县| 深泽县| 特克斯县| 武夷山市| 江阴市| 宁国市| 绵阳市| 沈阳市| 菏泽市| 崇文区| 利辛县| 乌恰县| 兴山县| 邯郸市| 青阳县| 乐陵市| 龙川县| 双流县|