instanceof操做符
if(value instanceof Array){}
複製代碼
其實就是判斷是否是Array對象的實例,那就會有問題:javascript
Array is Array()
if(Array is Array(value)){}
複製代碼
ECMAScript5新增了Array is Array()方法,這個方法最終的目的就是判斷是否是數組,不會考慮在哪一個全局環境。java
Object.prototype.toString.call()
Object.prototype.toString.call(value) //若是value是數組就會返回"[object Array]"
複製代碼
有時候,咱們是要判斷對象或變量是什麼類型,並不知道是否是數組,因此不會用以上兩種。而是要用上面這一種。數組
由於在任何值上面調用Object的toString方法都會返回一個[Object NativeConstructorName]格式的字符串(與全局做用域無關,返回的值能保持一致),每一個類都有一個[class]屬性,這個屬性值就是構造函數名。函數