1.获取变量类型
var num=10;
console.log(typeof num);//获取num这个变量的数据类型
2.判断这个对象是不是某个类型的
var obj={};//对象
console.log(obj instanceof Object);
console.log(obj.constructor == Object);//这种方式在函数的原型被改掉后会不适用
3.获取变量类型的第三种方案
//此时输出的是Object的数据类型 [object Object]
console.log(Object.prototype.toString());
//获取某个对象的数据类型的样子
//Object.prototype.toString.call(对象);//此时得到的就是这个对象的类型,
//注意点是这个方法无法获取自定义函数的类型
//输出的数组的数据类型 [object Array]
console.log(Object.prototype.toString.call([]));
var arr=[10,20,30];
console.log(Object.prototype.toString.call(arr));
案例:判断某个对象是否是指定类型的对象
//判断某个对象是否是指定类型的对象
function genFun (type) {
return function (obj) {
//Object.prototype.toString.call(obj) 输出obj对象的数据类型
return Object.prototype.toString.call(obj) === type
}
}
var isArray = genFun('[object Array]')
var isObject = genFun('[object Object]')
console.log(isArray([])) // => true
console.log(isObject({})) // => true