5种判断类型的方法

Array.prototype.length = 100;
var arr = new Array(1,2,3);
console.log(arr._proto_ == Array._proto_)  

//能够输出判断数据类型  String Array Object Boolean (除了null undefined 报错)

console.log(arr.constructor == Array)

//能够输出判断数据类型  String Array Object Boolean (除了null undefined 报错)

console.log(arr instanceof(Array/Object)) // 也是在运行链上进行判断 for in(数组也是一个特殊的对象)

//能够输出判断数据类型  Array Object (除了array boolean null undefined)

console.log(typeof arr) // 不用用于判断复杂的进行判断

//能够输出判断数据类型  String Boolean Object (Object Array  null undefined都是Object)

console.log(arr.valueOf()) // 不太常用 原始数据

//能够输出判断数据类型  String Array Boolean Object(但是并非boolean(true/false)) (除了 null undefined 报错)

就额外再讲点吧 怎样判断 一个数据的类型

 

// 判断一个数据是什么类型的数据
function panduanDataType(data){
    // 取出传参过来的数据 在原型上 的数据类型
    var type = Object.prototype.toString.call(data).slice(8,-1);

    if(type == "String"){
        return "String";
    }
    else if( type == "Object" ){
        return "Object";
    }
    else if(type == "Array" ){
        return "Array";
    }
    else if(type == "Null"){
        return "Null";
    }
    else if(type ==  "Undefined"){
        return "Undefined";
    }
    else if(type == "Boolean"){
        return "Boolean";
    }
}
panduanDataType("dataType"); // String

 

posted @ 2017-04-11 08:56  shirleyYing  阅读(1873)  评论(0编辑  收藏  举报