1.對於Javascript 1.8.5(ECMAScript 5),變量名字.isArray( )可以實現這個目的
var a=[]; var b={}; Array.isArray(a);//true Array.isArray(b)//false
2.如果你只是用typeof來檢查該變量,不論是array還是object,都將返回‘objec'。 此問題的一個可行的答案是是檢查該變量是不是object,
並且檢查該變量是否有數字長度(當為空array時長度也可能為0,object的長度為undefined)。
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