操作符:typeof
六大数据类型:number、string、object、Boolean、null、undefined。
var str="string";
typeof str === "string"//true
var num=1;
typeof num === "number" // true
var bn=false;
typeof bn === "boolean" // true
var a;
typeof a === "undfined"// true
var obj = null;
typeof obj === "object" // true
var doc = document;
typeof doc === "object" // true
var arr = [];
typeof arr === "object"//true
typeof arr === "array"// false
var fn = function(){};
typeof fn === "function" //true
instanceof方法
var arr =[];
arr instanceof Array ; // true
arr instanceof Object ;// true
var obj ={};
obj instanceof Object ; true
obj instanceof Array; false
constructor方法
[].constructor === Object ; //false
[].constructor === Array ;// true
{}.constructor == Object; //true
"string".constructor == String; //true
(4).constructor === Number; //true
true.constructor == Boolean; //true
(function(){}).constructor === Function ;//true
ES5定义了Array.isArray:
var arr =[];
Array.isArray(arr);//true
Object.prototype.toString.call(arr) 方法
function objToStringCall(o) {
return Object.prototype.toString.call(o);
}
var arr=[];
var obj={};
var fn = function () {}
console.log(objToStringCall(arr)); //[object Array]
console.log(objToStringCall(obj)); //[object Object]
console.log(objToStringCall(fn)); //[object function]