IE9+,很是廣泛的用法,好比{a: '1'},Array.isArray({a: '1'})
返回false數組
變量是由Array構造函數生成的數組,尋找變量的構造函數...函數
返回一個布爾值,順便提一下,instanceof這個方法判斷基本數據類型是會失效的,好比 1 instanceof Number
爲假,'2' instanceof String
爲假,可是若是這樣處理:測試
const a = new Number(2);
a instanceof Number // true
複製代碼
可能有人有疑問,2..sort
或者'2'.sort
會不會報錯,實際上是不會的,可是ture.sort
會不起反應,因此最優的作法是:spa
typeof variable === 'object' && variable.sort === Array.prototype.sort
複製代碼
基本全支持,這個是慣常的用法,很是準確prototype
IE9+,這也是個方法,可是須要注意,在 ES5 中,若是參數不是一個對象類型,將拋出一個TypeError異常。在 ES2015 中,參數會被強制轉換爲一個 Object:code
Object.getPrototypeOf('foo');
// TypeError: "foo" is not an object (ES5 code)
Object.getPrototypeOf('foo');
// String.prototype (ES2015 code)
複製代碼
這樣真的能夠,並且基本全支持,Object.isPrototypeOf() 方法用於測試一個對象是否存在於另外一個對象的原型鏈上。對象