核心提示:js类型判断有很多方法一、数据类型判断之 typeoftypeof可以解决大部分的数据类型判断 var a = string; console.log(a); //string var a = 1; ...
js类型判断有很多方法
一、数据类型判断之 typeof
typeof可以解决大部分的数据类型判断
var a = "string"; console.log(a); //string var a = 1; console.log(typeof a); //number var a = false; console.log(typeof a); //boolean var a; console.log(typeof a); //undfined var a = null; console.log(typeof a); //object var a = document; console.log(typeof a); //object var a = []; console.log(a); //[] var a = function() {}; console.log(typeof a) //function 除了可以判断数据类型还可以判断function
这样看起来就很明显了,判断的类型并不是很详细。好多类型都是object。
二、instanceof
var a=[]; console.log(a instanceof Array) //返回true
三、constructor
console.log([].constructor == Array); console.log({}.constructor == Object); console.log("string".constructor == String); console.log((123).constructor == Number); console.log(true.constructor == Boolean);
判断是否为数组
function isArray(object){ return object && typeof object==='object' && Array == object.constructor; }
四、最简单的方法
function isArray(o) { return Object.prototype.toString.call(o) === ‘[object Array]‘; }