检测数据类型的几种方式
生活随笔
收集整理的這篇文章主要介紹了
检测数据类型的几种方式
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
JS中檢測數(shù)據(jù)類型只有四種方式
- 1、typeof 用來檢測數(shù)據(jù)類型的運算符
[typeof value]
1)返回值:首先是一個字符串,然后包含了我們常用的數(shù)據(jù)類型,例如:"number"、"string"、"boolean"、"undefined"、"object"、"function" typeof typeof typeof [12] -> "string" 2)typeof null ->"object" 因為null是一個空對象指針 3)typeof不能具體的細分對象、數(shù)組、正則等,因為不管檢測哪一個返回的都是"object"- 2、instanceof / constructor
- 1)instanceof:檢測當前實例是否屬于某一個類,屬于的話返回true,不屬于返回false
-
- 2)constructor
-
- 3)instanceof的局限性:只要在這個實例的原型鏈上的類,用instanceof檢測的時候都為true
在類的繼承中,我們只是單純通過instanceof來檢測數(shù)據(jù)類型的話是不準確的
[案例]
- 3、toString檢測數(shù)據(jù)類型(常用而且相對來說精準的檢測方式,上述方式出現(xiàn)的缺陷在這里都彌補了)
- 1)原理:在Object.prototype上有一個toString方法,這個方法執(zhí)行的時候,會返回方法中this關鍵字對應數(shù)據(jù)值的數(shù)據(jù)類型,例如:
-
- 2)這樣的話,我們就可以讓Object.prototype.toString執(zhí)行,并且通過call/apply來改變里面的this關鍵字,也就是想檢測誰的數(shù)據(jù)類型,我們就可以讓this變?yōu)檎l
-
- 3)檢測的返回值 -> "[object 當前數(shù)據(jù)類型所屬的內置類]"
?
轉載于:https://www.cnblogs.com/Scar007/p/7722881.html
總結
以上是生活随笔為你收集整理的检测数据类型的几种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Lambda表达式常用代码示例
- 下一篇: zabbix监控mysql最简单的方法