js中的数据类型,以及如何检测数据类型

Posted songyao666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中的数据类型,以及如何检测数据类型相关的知识,希望对你有一定的参考价值。

基本数据类型:string,number,boolean,null,undefined,symbol

引用数据类型:object(array,function...)

常用的检测数据类型的方法一般有以下三种:

1.typeof 一般主要用来检测基本数据类型,因为它检测引用数据类型返回的都是object

还需要注意的一点是:typeof检测null返回的也是object(这是JS一直以来遗留的bug)

typeof 1
"number"
typeof ‘abc‘
"string"
typeof true
"boolean"
typeof null
"object"
typeof undefined
"undefined"
typeof 
"object"
typeof []
"object"

2.instanceof  这个方法主要是用来准确地检测引用数据类型(不能用来检测基本数据类型)

function add()
add instanceof Function
//true

var obj = 
obj instanceof Object
//true

[] instanceof Array
//true

3.Object.prototype.toString()  可以用来准确地检测所有数据类型

Object.prototype.toString.call([])
//"[object Array]"

Object.prototype.toString.call(1)
//"[object Number]"

Object.prototype.toString.call(null)
//"[object Null]"

Object.prototype.toString.call(undefined)
//"[object Undefined]"

Object.prototype.toString.call(true)
//"[object Boolean]"

Object.prototype.toString.call(‘111‘)
//"[object String]"

Object.prototype.toString.call()
//"[object Object]"

Object.prototype.toString.call(function add())
//"[object Function]"

 

以上是关于js中的数据类型,以及如何检测数据类型的主要内容,如果未能解决你的问题,请参考以下文章

JS中的数据类型检测

2. JS数据类型检测_封装一个数据类型检测的方法库

js如何判断变量的数据类型

Javascript中的基本类型和引用类型

数据类型及类型检测

js数据类型数据类型的检测