JS:封装函数判断数据类型

本文介绍了一种使用JavaScript实现的精细类型检测方法。该方法能够准确地区分基本数据类型与复杂对象类型,包括对null的特殊处理及对包装类对象、普通对象与数组的具体识别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思路
1 ).根据 typeof() 的返回值将数据分为2种情况
a.返回值为 'string' 'number' 'boolean' 'undefined' 'function' (直接返回 typeof() 的返回值)
b.返回值为'object'
2 ).再将 typeof() 返回值为 'object' 的数据分为2种情况
a.null (直接返回自身)
b.包装类 对象 数组 (再进行细分)
var a = new Number(1);
function type(target) {
    var ret = typeof(target);
    console.log(ret)
    var template = {
        //包装类、对象、数组
        "[object Number]" : "number - object",
        "[object String]" : "string - object",
        "[object Boolean]" : "boolean - object",
        "[object Object]" : "object",
        "[object Array]" : "array"
    }
    //找出 null
    if(target === null){
        return null;
    }
    if(ret == "object"){
        var str = Object.prototype.toString.call(target);
        return template[str];
    }else{
    //原始值 和 function
        return ret;
    }
}
console.log(type(a))
//number - object
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值