區分Null、Array、Object類型

問題: 利用typeof操作符對Null、Array、Object作用返回的都是object類型,區分不開。

方法:?

? ? ? ?1??: instanceof?

? ? ? ? ? ? ? ? ? ?[] instanceof Array? ? ?//true

? ? ? ? ? ? ? ? ? ?{}instanceof Object? ? ?//true

? ? ? ? ? ? ? ? ? ? null === null? ? ? ? //true

? ? ? ? ?2??: constructor

? ? ? ? ? ? ? ? ? ? [].constructor === Array? ? //true

? ? ? ? ? ? ? ? ? ? {}.constructor === Object? ? //true

? ? ? ? ? ? ? ? ? ? null === null? ? ?//true

? ? ? ? 3??:length屬性

? ? ? ? ? ? ? ? ? [2,3].length ? ? ?//2.

? ? ? ? ? ? ? ? ? {}.length ? ? ? ? ? ?//undefinded

? ? ? ? ?4??:ES5 ? isArray()方法

? ? ? ? ? ? ? ? ? ?Array.isArray([]) ? ? ? ?//true

? ? ? ? ? ? ? ? ? ?Array.isArray({}) ? ? ? ?//false


注意:函數arguments是對象不是數組,

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容