在JS中,检测数据类型的方法有两种,一种是typeof 数据,这种方法简单但是有两个数据类型测不出来,一个是null,还有一个是数组Array
//值类型
let str = 'abc'
let num = 10
let bol = true
let und = undefined
let nul = null
//引用类型
let arr = [10, 20, 30]
let fn = function () { }
let obj = { name: 'ikun' }
console.log(typeof str)//'string'
console.log(typeof num)//'number'
console.log(typeof bol)//'boolean'
console.log(typeof und)//'undefined'
console.log(typeof nul)//'object'
console.log(typeof arr)//'object'
console.log(typeof fn)//'function'
console.log(typeof obj)//'object'
如果要检测null数据类型和数组类型的数据,可以用Object.prototype.toString.call(数据)这个方法
//值类型
let str = 'abc'
let num = 10
let bol = true
let und = undefined
let nul = null
//引用类型
let arr = [10, 20, 30]
let fn = function () { }
let obj = { name: 'ikun' }
console.log(Object.prototype.toString.call(str))//'[object String]'
console.log(Object.prototype.toString.call(num))//'[object Number]'
console.log(Object.prototype.toString.call(bol))//'[object Boolean]'
console.log(Object.prototype.toString.call(und))//'[object Undefined]'
console.log(Object.prototype.toString.call(nul))//'[object Null]'
console.log(Object.prototype.toString.call(arr))//'[object Array]'
console.log(Object.prototype.toString.call(fn))//'[object Function]'
console.log(Object.prototype.toString.call(obj))//'[object Object]'