typeof
var arr=[];
var json={};
typeof(arr) or typeof(json) 無論怎麼樣返回值都是ObejectObject instanceof Array
ES3 針對這個問題做出了處理的方式
var arr = [];
if(arr instanceof Array){
console.log("這是一個陣列 ")
}
instancesof操作符的問題在於,他假定只有一個全域性環境,如果存在包含多個框架的話,那實際就存在兩個不同以上的執行環境了,也就是說存在了兩個不同的版本的Array建構函式,如果一個頁面從一個頁面傳入陣列,那麼不同頁面就會存在不同建構函式
ES5針對這個問題做出了處理
if(Array.isArray(arr)){
console.log('這是一個陣列')
}
相容方面有些問題、目前相容的有 IE9 、fireFpx、Safari5+、Oprea 10.5+、Chrome