typeof升级版,可以识别出array、object、null、nan、[]、{}

typeof 经常混淆array、object、null等,升级处理一下。
可以将这个函数放在common.js中使用。

function getTypeName(v) {
    var v_str = JSON.stringify(v);
    if (typeof v == 'object') {
        // 判断null
        if (v_str == 'null') {
            return 'null';
        }
        // 判断[]
        if (v_str.charAt(0) == '[') {
            return 'array';
        }

        // 判断{}
        if (v_str.charAt(0) == '{') {
            return 'object';
        }

        // 判断Date对象
        if (v instanceof Date) {
            return 'date';
        }

        // 其他...
        return 'other';
    } else if(typeof v == 'number') {
        // 判断NaN
        if (v_str == 'null') {
            return 'nan';
        }
        return typeof v;
    } else {
       return typeof v;
    }
}

var a = 0;
var b = "";
var c = null;
var d = false;
var e = function () {};
var f = [];
var g = {};
var h;
var i = new Array();
var j = new Object();
var k = new Date();
var l = NaN;
console.log(getTypeName(a)); // number
console.log(getTypeName(b)); // string
console.log(getTypeName(c)); // null
console.log(getTypeName(d)); // boolean
console.log(getTypeName(e)); // function
console.log(getTypeName(f)); // array
console.log(getTypeName(g)); // object
console.log(getTypeName(h)); // undefined
console.log(getTypeName(i)); // array
console.log(getTypeName(j)); // object
console.log(getTypeName(k)); // date
console.log(getTypeName(l)); // nan


本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6189221.html,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值