JS array數(shù)組檢測(cè)方式解析
typeof
var arr = [1,2,3];console.log(typeof arr);//’object’
數(shù)組的本質(zhì)是一種特殊的對(duì)象,所以返回’object’。typeof運(yùn)算符只能用來區(qū)分原始類型和對(duì)象類型,所以無法具體的檢測(cè)出Array
instanceof
var arr = [1,2,3];console.log(arr instanceof Array);//true
如果存在不同的全局環(huán)境,就會(huì)存在不同版本的Array構(gòu)造函數(shù),如果從一個(gè)框架向另一個(gè)框架傳入一個(gè)數(shù)組,那么傳入的數(shù)組與在第二個(gè)框架中原生創(chuàng)建的數(shù)組分別具有各自不同的構(gòu)造函數(shù),這時(shí)候使用instanceof檢測(cè)就不準(zhǔn)確了
toString
通過引用Object的toString()方法來檢查對(duì)象的類屬性,對(duì)數(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
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Python如何批量生成和調(diào)用變量2. ASP.Net Core對(duì)USB攝像頭進(jìn)行截圖3. ASP.NET MVC實(shí)現(xiàn)橫向展示購(gòu)物車4. Python 中如何使用 virtualenv 管理虛擬環(huán)境5. Python獲取B站粉絲數(shù)的示例代碼6. Python基于requests實(shí)現(xiàn)模擬上傳文件7. python利用opencv實(shí)現(xiàn)顏色檢測(cè)8. windows服務(wù)器使用IIS時(shí)thinkphp搜索中文無效問題9. ASP.Net Core(C#)創(chuàng)建Web站點(diǎn)的實(shí)現(xiàn)10. 通過CSS數(shù)學(xué)函數(shù)實(shí)現(xiàn)動(dòng)畫特效
