JS:封裝函數判斷數據類型

思路

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
複製代碼
相關文章
相關標籤/搜索