这里我们采用:Object.prototype.toString.call() 获取类型
话不多说上代码:
function checkType(type) {
return function (value) {
return Object.prototype.toString.call(value).slice(8, -1).toLocaleUpperCase() === type.toLocaleUpperCase();
}
}
var isNumber = checkType('number');//数值
var isString = checkType('string');//字符串
var isUndefined = checkType('undefined');//undefined
var isNull = checkType('null');//null
var isBoolean = checkType('boolean');//布尔值
var isSymbol = checkType('symbol');//symbol
var isObject = checkType('object');//对象
var isArray = checkType('array');//数组
var isDate = checkType('date');//时间对象
var isRegExp = checkType('regExp');//正则表达式
var isFunction = checkType('function');//普通函数
var isAsyncFunction = checkType('asyncFunction');//asyncFunction
var isPromise = checkType('promise');//promise
引入函数,输出结果:
<script src="./checkType.js"></script>
<script>
console.log(isFunction(function () { }))
console.log(isObject({}))
console.log(isNumber(11111))
console.log(isString('111'))
console.log(isBoolean(false))
console.log(isNull(null))
console.log(isArray([]))
console.log(isDate(new Date()))
console.log(isRegExp(/^[111]/))
console.log(isSymbol(Symbol(111)))
console.log(isPromise(new Promise(res => { }, rej => { })))
console.log(isAsyncFunction(async function () { }))
</script>
使用Object.prototype.toString.call()检测数据类型
该博客介绍了一种利用JavaScript内置方法Object.prototype.toString.call()来判断数据类型的技巧。通过定义checkType函数,可以方便地检查一个值是否为特定类型,如数值、字符串、对象、数组等。示例代码展示了如何使用这个函数并打印不同类型的检查结果。
172万+

被折叠的 条评论
为什么被折叠?



