JavaScript 之 type方法的封装——辨别变量类型

说到变量类型的辨别,我们一般会想到typeof方法,但是对于原始值的包装类,如果用typeof();


会只显示object 当然我们用Object.prototype.toString.call(new String)来判断的时候控制台打印'[object String]' 但是不免有些麻烦

所以,封装出一个type方法,使得那些特殊的变量都能让我们很清楚地辨别出其类型。

下面看代码:

function type(target){
    var ret = typeof(target) ;
    var template = {
        '[object Array]'  : 'array',
        '[object Object]' : 'object',
        '[object String]' : 'string - object',
        '[object Number]' : 'Number - object',
        '[object Boolean]': 'Boolean - object',
    }
    if(target === null){
        return 'null';
    }
    if(ret == 'object'){
        var str = Object.prototype.toString.call(target);
        return template[str];
    }
    else {
        return ret;
    }

}




猜你喜欢

转载自blog.csdn.net/qq_41713692/article/details/80550560