2013-10-08 94 views
0

當我這樣做:typeof([])它返回object類型檢查陣列

我聽說過編輯JavaScript內置類型的原型並不是真的可以接受的。

但是,如果我這樣做:Array.prototype.isArray = true;然後將下面的工作:

var arr = []; 
var obj = {}; 

if (arr.isArray) 
{ 
    console.log("Array"); 
} 
else 
{ 
    console.log("Not array"); 
} 

if (obj.isArray) // undefined 
{ 
    console.log("Array"); 
} 
else 
{ 
    console.log("Not array"); 
} 

或者是這個還是不能接受?什麼會更好地解決這個問題?

回答

0

您可以使用instanceofMDN Documentation):

var arr = []; 
if (arr instanceof Array) { 
    console.log('this is an array'); 
}