js 判断各种数据类型:
了解js的都知道, 有个typeof 用来判断各种数据类型,有两种写法:typeof xxx ,typeof(xxx)
typeof 2 // 输出 number
typeof null // 输出 object
typeof {} // 输出 object
typeof [] // 输出 object
typeof (function(){}) // 输出 function
typeof undefined // 输出 undefined
typeof '222' // 输出 string
typeof true // 输出 boolean
相信大家已经发现了 , typeof 判断数据类型 ,并不严谨 !
因为 不管是 数据 还是 对象 或者是 null , 都返回了 object ,虽说 这几个都属于对象 , 但具体是的 我们无法判断 !
instanceof 判断
var ary = [1,23,4];
console.log(ary instanceof Array) //true;
这样会直接返回一个 boolean 值 , 这样我们就可以确认 具体是那种类型了 !
通用方法:
var ary = [1,23,4];
function isArray(o){
return Object.prototype.toString.call(o)=='[object Array]';
}
console.log(isArray(ary));
具体Object.prototype.toString 的用法,请参照 的用法Object.prototype.toString