JS实现判断类型

1.JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。
对于数组、函数、对象来说,其关系复杂,若使用 typeof 都会统一返回 为object,这样为后续处理带来不便。
2.关键函数方法
js原生方法Object.prototype.toString.call();它可以给出数据的确切类型,相比typeof要精确。

function getDataType(data){  
    var getType=Object.prototype.toString;  
    var myType=getType.call(data);//调用call方法判断类型,结果返回形如[object Function]  
    var typeName=myType.slice(8,-1);//[object Function],即取除了“[object ”的字符串。  
    var copyData='';//复制后的数据  
    //console.log(data+" is "+myType);  
    switch(typeName){  
        case 'Number': copyData=data-0;  
                break;  
        case 'String': copyData="'"+data+"'";  
                break;  
        case 'Function': copyData=data;  
                break;  
        case 'Null': copyData=null;  
                break;  
        case 'Undefined': copyData="Undefined";  
                break;  
        case 'Array':   
                    copyData=[];//先将copyData变为空数组  
                    for(var i=0;i

你可能感兴趣的:(JS实现判断类型)