亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

JavaScript判斷對象是否為數組

2024-05-06 16:26:42
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScript判斷對象是否為數組的三種方法,感興趣的小伙伴們可以參考一下
 

文中為大家分享了三種JavaScript判斷對象是否為數組的方法,

1. typeof

首先我們會想到的是使用typeof來檢測數據類型,但是對于Function, String, Number, Undefined等這幾種基本類型來說,使用typeof來檢測都可以檢測到,比如代碼如下:

function test(){}console.log(typeof 1); // numberconsole.log(typeof test); // function console.log(typeof "yunxi"); // stringconsole.log(typeof undefined); // undefined

但是對于數組或者正則來說,使用typeof來檢測的話,那就滿足不了,因為當我們檢測數組或者正則的話,那么返回的類型將會是一個對象object,如下代碼所示:

console.log(typeof []); // objectconsole.log(typeof //d+/g); // object

2. Instanceof

由此我們很容易會想到使用instanceof來檢測某個對象是否是數組的實例,該檢測會返回一個布爾型(boolean),如果是數組的話,返回true,否則的話返回false;我們再來看下上面的檢測是否為數組的代碼如下:

console.log([] instanceof Array); // trueconsole.log(//d+/g instanceof Array); // false

如上可以看到使用instanceof確實可以判斷是否為數組的列子;
3. constructor屬性

在javascript中,每個對象都有一個constructor屬性,它引用了初始化該對象的構造函數,比如判斷未知對象的類型,因此我們可以如下寫一個方法,代碼如下:

function isArray(obj) {  return typeof obj == 'object' && obj.constructor == Array}// 測試democonsole.log(isArray([])); // truevar a = {"a":1};console.log(isArray(a)); // falsevar b = [1,2,3];console.log(isArray(b)); // trueconsole.log(isArray(//d+/g));// false

如上可以看到,通過調用isArray 方法也可以判斷是否為數組的列子。
我們現在可以看到,對于第二點和第三點分別使用instanceof方法和constructor屬性貌似都可以來判斷是否為數組了,但是也有列外情況,比如在跨框架iframe的時候使用頁面中的數組時,會失敗,因為在不同的框架iframe中,創建的數組是不會相互共享其prototype屬性的;如下代碼測試即可得到驗證~

var iframe = document.createElement('iframe');document.body.appendChild(iframe);xArray = window.frames[window.frames.length-1].Array;    var arr = new xArray("1","2","3","4","5");//這個寫法IE下是不支持的,標準瀏覽器firefox,chrome下有console.log(arr); // 打印出 ["1", "2", "3", "4", "5"]console.log(arr instanceof Array); // false console.log(arr.constructor === Array); // false

如上的方法我們都不能來判斷一個對象是否為數組的方式; 但是我們在看ECMA262中可以看到,可以使用 Object.prototype.toString.call()方法來判斷一個對象是否為數組;如下代碼:

function isArray(obj) {  return Object.prototype.toString.call(obj) == '[object Array]';}// 代碼調用console.log(isArray([])); // trueconsole.log(isArray([1,2,3])); // truevar iframe = document.createElement('iframe');document.body.appendChild(iframe);xArray = window.frames[window.frames.length-1].Array;    var arr = new xArray("1","2","3","4","5");console.log(arr); // ["1","2","3","4","5"]console.log(isArray(arr)); // true

以上就是本文的全部內容,幫助大家學習JavaScript判斷對象是否為數組的方法,希望對大家的學習有所幫助。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久999免费视频| 亚洲视频综合网| 久久中文字幕视频| 国产精品久久久久99| 欧美人与物videos| 国产精品wwww| 精品亚洲精品福利线在观看| 亚洲第一页自拍| 成人性生交大片免费观看嘿嘿视频| 亚洲区bt下载| 神马久久久久久| 亚洲aa中文字幕| 亚洲男女性事视频| 日韩人在线观看| 中文字幕成人精品久久不卡| 欧美人与性动交| 亚洲毛片在线观看.| 国产精品无码专区在线观看| 欧美日韩电影在线观看| 日韩精品在线电影| 亚洲精品美女免费| 亚洲欧洲视频在线| 高清亚洲成在人网站天堂| 97色在线视频观看| 伊人久久综合97精品| 欧美影院久久久| 国产精品电影一区| 91精品国产色综合久久不卡98| 久久这里只有精品视频首页| 国模私拍一区二区三区| 国产一区二区三区中文| 91成人精品网站| 国产精品久久一| 国产亚洲aⅴaaaaaa毛片| 91国自产精品中文字幕亚洲| 性欧美视频videos6一9| 久热精品视频在线免费观看| 色偷偷亚洲男人天堂| 亚洲欧美日韩一区二区在线| 日本一区二区三区四区视频| 久久精品99久久香蕉国产色戒| 国产精品电影久久久久电影网| 成人午夜黄色影院| 国产成人91久久精品| 欧美专区在线观看| 国产精品igao视频| 深夜福利国产精品| 色综合久久中文字幕综合网小说| 国产视频久久久| 国产精品欧美久久久| 国产一区欧美二区三区| 欧美在线观看网址综合| 成人黄色av免费在线观看| 日韩www在线| 国产精品永久免费视频| 97久久超碰福利国产精品…| 国产女精品视频网站免费| 国产精品久久久久av| 国产精品九九九| 91av视频在线观看| 日韩欧美精品网址| 欧美精品福利视频| 91sao在线观看国产| 亚洲天堂第二页| 欧美国产日本在线| 日韩中文字幕精品| 亚洲欧美日韩中文在线| 成人午夜激情网| 亚洲欧美日韩精品久久亚洲区| 精品香蕉一区二区三区| 成人性生交大片免费看视频直播| 亚洲欧洲偷拍精品| 亚州精品天堂中文字幕| 成人h视频在线| 日韩中文在线中文网三级| xxx成人少妇69| 日韩欧美精品在线观看| 日本精品一区二区三区在线| 国产精品扒开腿爽爽爽视频| 不卡伊人av在线播放| 91久久精品美女| 亚洲国产精品热久久| 成人网在线视频| 亚洲男人7777| 亚洲激情久久久| 久久久久免费视频| 欧洲亚洲妇女av| 久久久久久久久电影| 日韩在线欧美在线国产在线| 欧美有码在线观看视频| 日韩精品999| 国产成人a亚洲精品| 欧美激情亚洲综合一区| 8x海外华人永久免费日韩内陆视频| 欧美国产视频一区二区| 国产黑人绿帽在线第一区| 欧美有码在线观看视频| 色综合久久悠悠| 一夜七次郎国产精品亚洲| 国产精品日韩在线一区| 日韩电影大片中文字幕| 欧美自拍视频在线| 欧美日本亚洲视频| 一区三区二区视频| 亚洲精品v天堂中文字幕| 久久亚洲成人精品| 美女扒开尿口让男人操亚洲视频网站| 成人激情视频在线| 成人福利网站在线观看| 亚洲一区二区三区毛片| 久久天天躁狠狠躁夜夜躁| 久久久电影免费观看完整版| 国产精品无码专区在线观看| 136fldh精品导航福利| 成人免费看黄网站| 欧美成人精品一区二区三区| 久久久久久999| 8050国产精品久久久久久| 97在线视频免费观看| 日韩欧美亚洲综合| 午夜精品一区二区三区在线| 日本成人在线视频网址| 欧美老女人在线视频| 国产精品91久久| 国产精品嫩草视频| 欧美性猛交xxxx免费看久久久| 久久国产精品久久久久久| 欧美亚洲在线播放| 欧美激情综合色| 日韩欧美视频一区二区三区| 精品动漫一区二区| 欧美多人乱p欧美4p久久| 精品综合久久久久久97| 国产精品美女久久久久久免费| 狠狠色香婷婷久久亚洲精品| 在线播放亚洲激情| 久久精品99久久香蕉国产色戒| 色综合久久88色综合天天看泰| 欧美精品久久久久久久免费观看| 久久精品99久久久久久久久| 久久精品99久久香蕉国产色戒| 精品视频在线播放| 91精品视频播放| 九九久久国产精品| 欧美精品一区三区| 国产在线观看不卡| 美日韩精品视频免费看| 日韩中文字幕免费看| 亚洲精品按摩视频| 国产精品自产拍高潮在线观看| 91大神在线播放精品| 亚洲一区二区三区乱码aⅴ蜜桃女| 日本sm极度另类视频| 97国产精品人人爽人人做| 亚洲一区二区三区视频| 国产成人精品在线| 国产亚洲成精品久久| 国产日韩欧美综合| 97人人模人人爽人人喊中文字| 欧美电影免费观看网站| 欧美国产一区二区三区| 欧洲美女7788成人免费视频| 国产精品久久91| 欧美激情精品久久久久|