面试官:封装一个js获取数据类型的函数叭。

82 阅读1分钟

需要注意的一点,对于array和null,用Object.prototype.toString单独判断。其它都很简单。

代码

function getType(obj) {
    if (typeof obj === 'object') {
        let temp = Object.prototype.toString.call(obj);
        let len = temp.split(' ')[1].toLowerCase().length;
        return temp.split(' ')[1].toLowerCase().slice(0, len - 1)
    } else {
        return typeof obj
    }
}

测试

console.log(getType(1)) // number
console.log(getType("1")) // string
console.log(getType(null)) // null
console.log(getType(undefined)) // undefined 
console.log(getType({})) // object
console.log(getType(function () { })) // function 

image.png


记录记录!