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

首頁 > 開發 > JS > 正文

javascript判斷一個變量是數組還是對象

2024-05-06 16:49:48
字體:
來源:轉載
供稿:網友

javascript中如何準確判斷一個變量是什么,面試中這是考一個人基本功扎不扎實必定會問的一個問題。如果你還不是很清楚,相信這篇文章會對你有所幫助。

一,判斷方法

1.typeof

我們能夠使用typeof判斷變量的身份,判斷字符串得到string,數字和NaN得到number,函數會得到function等,但是判斷數組,對象和null時都會得到object,詳細請看js數據類型,這就是typeof的局限性,并不能準確的判斷該變量的"真實身份"。那如何判斷一個變量是數組還是對象?

 2.instanceof

使用instanceof可以用來判斷一個變量是數組還是對象,原理如下:
數組也是對象的一種,使用instanceof都會返回true

var arr = new Array();var arr = ['aa','bb','cc'];var obj = { a: 'aa', b: 'bb', c: 'cc' };console.log(arr instanceof Array); //trueconsole.log(arr instanceof Object); //trueconsole.log(obj instanceof Array); //falseconsole.log(obj instanceof Object); //true

instanceof是如何判斷的:

instanceof 運算符用來測試一個對象在其原型鏈中是否存在一個構造函數的 prototype 屬性,意思就是該變量通過原型鏈上能否找到構造函數的prototype 屬性,還不清楚原型鏈的請看原型鏈,所以就能明白為什么instanceof判斷一個變量可以分清楚它到底是數組還是對象:

Array.prototype === arr.__proto__
Object.prototype === arr.__proto__.__proto__
因為arr的原型鏈上存在Array.prototype和Object.prototype
只有Array類型的變量才會滿足arr instanceof Array和arr instanceof Object都返回true,
也只有Object類型變量才滿足obj instanceof Array返回false,obj instanceof Object返回true        

3.constructor

var arr = ['aa','bb','cc'];var obj = {'a': 'aa','b': 'bb','c': 'cc'};console.log(arr.constructor === Array); //trueconsole.log(arr.constructor === Object); //falseconsole.log(obj.constructor === Object); //true

4.Object.prototype.toString.call()

Object.prototype.toString.call()方法可以精準判斷變量類型,它返回[object constructorName]的字符串格式,這里的constructorName就是call參數的函數名

var a = NaN;var b= '222';var c = null;var d = false;var e = undefined;var f = Symbol(); var arr = ['aa','bb','cc'];var obj = { 'a': 'aa', 'b': 'bb', 'c': 'cc' }; var res = Object.prototype.toString.call(arr);console.log(res); //[object Array] var res2 = Object.prototype.toString.call(obj); console.log(res2); //[object Object] var res3 = Object.prototype.toString.call(a); console.log(res3); //[object Number] var res4 = Object.prototype.toString.call(b); console.log(res4); //[object String] var res4 = Object.prototype.toString.call(c); console.log(res4); //[object Null] var res5 = Object.prototype.toString.call(d); console.log(res5); //[object Boolean] var res6 = Object.prototype.toString.call(e); console.log(res6); //[object Undefined] var res7 = Object.prototype.toString.call(f); console.log(res7); //[object Symbol]// JavaScript Document

二,總結

判斷簡單數據類型可以用typeof,判斷數組,對象使用instanceof,constructor和 Object.prototype.toString.call(),最好使用Object.prototype.toString.call(),更加精準

以上所述是小編給大家介紹的javascript判斷一個變量是數組還是對象詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久99久久久久久久噜噜| 欧美性xxxx极品高清hd直播| 亚洲精品资源美女情侣酒店| 国模精品视频一区二区三区| 欧美日韩视频免费播放| 精品国产成人在线| 色中色综合影院手机版在线观看| 亚洲国产毛片完整版| 国产精品偷伦一区二区| 久久国产精品久久久久久久久久| 国产在线观看精品一区二区三区| 中文在线资源观看视频网站免费不卡| 国产精品久久久久免费a∨| 亚洲网在线观看| 亚洲最大成人在线| 中文字幕精品在线| 亚洲黄色成人网| 亚洲丝袜一区在线| 亚洲天堂日韩电影| 欧美日韩福利在线观看| 欧美性受xxxx黑人猛交| 91久久国产精品91久久性色| 国产一区二区三区在线播放免费观看| www.欧美三级电影.com| 亚洲欧美成人精品| 欧美另类极品videosbest最新版本| 欧美亚洲成人xxx| 国产精品日韩在线播放| 欧美日韩成人在线观看| 亚洲美女精品成人在线视频| 26uuu亚洲国产精品| 成人免费视频97| 国产精品亚洲激情| 日韩国产精品亚洲а∨天堂免| 欧美大片免费观看在线观看网站推荐| 国产91在线播放九色快色| 国产精品 欧美在线| 国产亚洲精品美女久久久久| 亚洲一区二区在线播放| 亚洲欧美资源在线| 中文字幕欧美专区| 欧美电影免费在线观看| 久久久久久这里只有精品| 欧美疯狂做受xxxx高潮| 久久视频在线看| 5566日本婷婷色中文字幕97| 日本精品在线视频| 国产成人亚洲综合| 亚洲精品久久久久久久久| 久久久久久九九九| 欧美在线亚洲一区| 尤物yw午夜国产精品视频| 国内精品久久久久影院 日本资源| 91夜夜未满十八勿入爽爽影院| 国产精品一区=区| 精品日韩视频在线观看| 国产成人中文字幕| 亚洲精品网址在线观看| 91精品国产91久久久久久久久| 日韩经典第一页| 日韩欧美国产免费播放| 92版电视剧仙鹤神针在线观看| 国产精品国产自产拍高清av水多| 亚洲在线免费视频| 黑人巨大精品欧美一区二区| 久久久国产精品视频| 国产成人综合久久| 欧美激情区在线播放| 亚洲国产天堂久久综合| 18一19gay欧美视频网站| 亚洲第一区在线| 亚洲国产97在线精品一区| 国产精品自产拍在线观| 久久99国产综合精品女同| 韩国精品久久久999| 久久精品成人欧美大片古装| 亚洲男人天堂九九视频| 欧美成人第一页| 57pao国产成人免费| 激情久久av一区av二区av三区| 成人午夜高潮视频| 欧美成人精品一区二区| 亚洲qvod图片区电影| 国产精品高潮呻吟久久av野狼| 欧美成人精品激情在线观看| 精品香蕉一区二区三区| 亚洲人成网站在线播| 亚洲精品视频免费在线观看| 久久国产视频网站| 国产精品aaaa| 亚洲欧美一区二区三区四区| 亚州成人av在线| 奇米一区二区三区四区久久| 色狠狠久久aa北条麻妃| 日本电影亚洲天堂| 国产欧美日韩最新| 亚洲a一级视频| 欧美日韩一区二区免费视频| 一区二区三区无码高清视频| 亚洲成人av在线| 欧美电影免费观看大全| 亚洲精品99久久久久| 亚洲男人天堂视频| 日韩国产欧美精品一区二区三区| 国产欧美日韩精品丝袜高跟鞋| 精品久久久久久久久久国产| …久久精品99久久香蕉国产| 亚洲网站在线观看| 77777少妇光屁股久久一区| 欧美性猛交xxxx乱大交蜜桃| 日韩av在线网| 日韩欧美成人免费视频| 色综合伊人色综合网| 一区二区三区日韩在线| 性金发美女69hd大尺寸| 国产精品爽爽爽爽爽爽在线观看| 久久精品中文字幕一区| 亚洲第一区在线| 国产成人亚洲精品| 亚洲欧美制服另类日韩| 成人福利在线观看| 麻豆国产va免费精品高清在线| 亚洲乱亚洲乱妇无码| 久久久999国产精品| 欧美在线亚洲一区| 亚洲视频在线观看视频| 欧美性xxxx极品hd欧美风情| 欧美丝袜美女中出在线| 欧美电影第一页| 91国自产精品中文字幕亚洲| 亚洲国产美女精品久久久久∴| 日韩av一区二区在线观看| 国产日韩欧美综合| 国产成人涩涩涩视频在线观看| 欧美日韩国产第一页| www.欧美精品一二三区| 成人黄色免费在线观看| 国产第一区电影| 亚洲色图偷窥自拍| 精品视频—区二区三区免费| 日韩大片免费观看视频播放| 久久91亚洲精品中文字幕| 青青草国产精品一区二区| 亚洲人午夜色婷婷| 国产精品自拍偷拍| 欧美日韩激情视频8区| 精品亚洲aⅴ在线观看| 中文字幕精品视频| 欧美成人第一页| 国产精品视频自拍| 欧美一区三区三区高中清蜜桃| 九九热视频这里只有精品| 亚洲精品一区在线观看香蕉| 国产日韩欧美视频| 久久久精品免费视频| 国产高清在线不卡| 亚洲嫩模很污视频| 精品久久久久久亚洲国产300| 国产欧美一区二区三区视频| 亚洲男人天堂2019| 日本亚洲欧洲色α| 欧美午夜激情视频| 亚洲第一偷拍网| 粉嫩老牛aⅴ一区二区三区|