JS array數(shù)組檢測方式解析
typeof
var arr = [1,2,3]; console.log(typeof arr);//'object'
數(shù)組的本質(zhì)是一種特殊的對象,所以返回'object'。typeof運(yùn)算符只能用來區(qū)分原始類型和對象類型,所以無法具體的檢測出Array
instanceof
var arr = [1,2,3]; console.log(arr instanceof Array);//true
如果存在不同的全局環(huán)境,就會存在不同版本的Array構(gòu)造函數(shù),如果從一個(gè)框架向另一個(gè)框架傳入一個(gè)數(shù)組,那么傳入的數(shù)組與在第二個(gè)框架中原生創(chuàng)建的數(shù)組分別具有各自不同的構(gòu)造函數(shù),這時(shí)候使用instanceof檢測就不準(zhǔn)確了
toString
通過引用Object的toString()方法來檢查對象的類屬性,對數(shù)組而言該屬性的值總是"Array"
function type(obj){
return Object.prototype.toString.call(obj).slice(8,-1).toLowerCase();
}
console.log(type(arr));//'array'
isArray
ECMAScript5新增了Array.isArray()方法
console.log(Array.isArray([]));//true
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript中實(shí)現(xiàn)異步編程模式的4種方法
這篇文章主要介紹了JavaScript中實(shí)現(xiàn)異步編程模式的4種方法,本文講解了回調(diào)函數(shù)、事件監(jiān)聽、發(fā)布/訂閱、Promises對象4種方法,需要的朋友可以參考下2014-09-09
純javascript代碼實(shí)現(xiàn)計(jì)算器功能(三種方法)
純javascript代碼實(shí)現(xiàn)計(jì)算器功能,接下來,由小編給大家分享一下用純javascript代碼編寫的計(jì)算器程序,需要的朋友可以參考下2015-09-09
JavaScript時(shí)間戳與時(shí)間日期間相互轉(zhuǎn)換
今天做項(xiàng)目遇到這樣的問題,要將獲取到的時(shí)間轉(zhuǎn)換為時(shí)間戳,通過查閱相關(guān)資料,問題順利解決,下面小編把具體實(shí)現(xiàn)代碼分享到腳本之家平臺,需要的朋友參考下2017-12-12
js實(shí)現(xiàn)數(shù)組去重、判斷數(shù)組以及對象中的內(nèi)容是否相同
數(shù)組去重,判斷數(shù)組、對象中的內(nèi)容是否相同等等,在接下來的文章中使用js來簡單實(shí)現(xiàn)下,感興趣的朋友不要錯(cuò)過2013-11-11

