js判斷對象仍是數組

1.對於Javascript 1.8.5(ECMAScript 5),變量名字.isArray( )能夠實現這個目的prototype

1 var a=[];
2 var b={};
3 Array.isArray(a);//true
4 Array.isArray(b)//false

 

2.若是你只是用typeof來檢查該變量,不管是array仍是object,都將返回‘objec'。 此問題的一個可行的答案是是檢查該變量是否是object,ip

而且檢查該變量是否有數字長度(當爲空array時長度也可能爲0,object的長度爲undefined)。string

 

var a=[];
var b={};
typeof a === 'object' && !isNaN(a.length)//true
typeof b === 'object' && !isNaN(b.length)//false

 

3.調用toString( )方法試着將該變量轉化爲表明其類型的string。 變量

var a=[];
var b={};
Object.prototype.toString.call(a)  === '[object Array]'//true
Object.prototype.toString.call(b)  === '[object Array]'//false
相關文章
相關標籤/搜索