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ù),如果從一個框架向另一個框架傳入一個數(shù)組,那么傳入的數(shù)組與在第二個框架中原生創(chuàng)建的數(shù)組分別具有各自不同的構(gòu)造函數(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í)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁2. ajax請求添加自定義header參數(shù)代碼3. Android實(shí)現(xiàn)觸發(fā)html頁面的Button控件點(diǎn)擊事件方式4. JavaScript設(shè)計模式之策略模式實(shí)現(xiàn)原理詳解5. Nginx+php配置文件及原理解析6. 解決Python 進(jìn)程池Pool中一些坑7. PHP8.0新功能之Match表達(dá)式的使用8. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究9. 八種Vue組件間通訊方式合集(推薦)10. JavaScript基于用戶照片姓名生成海報
