三种方式获取变量的数据类型

1.typeof   获取变量的数据类型

//获取num变量的数据类型

var num=10;
console.log(typeof num);

2.instanceof   判断对象是不是某个类型

//判断对象是不是某个类型

var obj={
  name:"andy"  
}
console.log(obj instanceof Object);  //true

3. Object.prototype.toString()  输出的是Object的数据类型  

//输出object的数据类型
console.log(Object.prototype.toString());   //[object  Object]

//输出Array的数据类型
console.log(Object.prototype.toString.call([]));  //调用call方法,把this从object的指向转为数组

引申案例:判断这个对象和传入的类型是不是同一类型(使用函数作为返回值的方式)

//判断这个对象和传入的类型是不是同一类型
function f1(type){
    return function (obj){
        return Object.prototype.toString.call(obj) == type;
    }
}

var type="[object Array]";
var arr=[12,23,34];
var ff=f1(type);
var fn=ff(arr);
console.log(arr);

猜你喜欢

转载自www.cnblogs.com/qtbb/p/12590030.html