typeof 220; // "number"
typeof "220"; // "string"
typeof false; // "boolean"
typeof [1, 2, 3]; // "object"
typeof a; // "undefined"
typeof Symbol(); // "symbol"
typeof console.log; // "function"
类型操作符typeof返回值有7种:number,string,boolean,object,undefined,symbol和function。
可以发现用typeof只能测出arr是一个对象,因为typeof7种返回之中没有array,所以要判断是否是一个数组,可以有如下4种方式:
1、instanceof
arr instanceof Array; //true
2、isArray
Array.isArray(arr); //true
3、constructor
arr.constructor === Array; //true
4、由于在iframe中创建的Array并不共享prototype,此时可以:
function isArray(obj){
return Object.prototype.toString.call(obj) === '[object Array]';
}
isArray(arr); // true