js中區分物件與陣列常用方法
阿新 • • 發佈:2019-01-28
如果你只是用typeof來檢查該變數,不論是array還是object,都將返回‘object'。
1,Object.prototype.toString.call(obj) 判斷陣列 物件
Object.prototype.toString.call([]) === '[object Array]’
// true
Object.prototype.toString.call({}) === ‘[object Object]’
// true
function
isArray(arg) {
if (typeof
arg === 'object') {
return Object.prototype.toString.call(arg) === '[object
Array]';
}
return
false;
}
2,Array.isArray() 判斷陣列
var a=new
Array(); Array.isArray(a);
//true
3,instanceof 例項,例子
var
a=new
Array(); a
instanceof Array;
//true
var
a=new
Array(); a
instanceof Object;
//true
var a = {}; a instanceof Object //true
4、constructor 返回型別String Number Boolean Array Date Object
var a=new
Array(); a.constructor === Array;
//true
var a = {}; a instanceof Object //true