首先聲明一個(gè)數(shù)組 var arr= [];
js中typeof只能檢測(cè)簡(jiǎn)單數(shù)據(jù)類型 如果typeof arr,會(huì)返回object,顯然不能判斷到底是不是一個(gè)數(shù)組 那么js中用什么方法檢測(cè)數(shù)組呢? 方法1: isArray()方法 Array.isArray(arr);
但是這個(gè)方法有兼容性 ie瀏覽器只有ie9以上才支持 方法2:instanceof 運(yùn)算符 arr instanceof Array
instanceof 運(yùn)算符的作用 A instanceof B 判斷B的PRototype屬性值是否在A的原型鏈上 也可以是判斷A是不是B的實(shí)例 返回布爾值
方法3:方法借用 Object.prototype.toString.call(arr)===[object,Array]
如果返回true證明是數(shù)組
call方法為方法借用 A.call(B) 意思就是將A中的this指向B,B如果是數(shù)組的話,就會(huì)去自身去找toString()方法,自身找不到就去它的原型上去找,如果找到返回[object,Array]
方法4:arr.constructor
看返回的是不是名字為Array的構(gòu)造函數(shù)
js中, 每個(gè)對(duì)象都有一個(gè)constructor屬性,它引用了初始化該對(duì)象的構(gòu)造函數(shù),常用于判斷未知對(duì)象的類型。
新聞熱點(diǎn)
疑難解答
圖片精選