万能检测数据类型的方法

在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]'

猜你喜欢

转载自blog.csdn.net/m0_67296095/article/details/124695485
今日推荐