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

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 11:49:39
字體:
來源:轉載
供稿:網友

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判斷一個變量是數組還是對象詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲综合小说区| 色婷婷av一区二区三区久久| 亚洲丝袜一区在线| 亚洲综合精品伊人久久| 日韩精品欧美国产精品忘忧草| 亚洲第一免费播放区| 中文字幕日韩电影| 亚洲精品国产综合区久久久久久久| 成人福利视频在线观看| 色在人av网站天堂精品| 中文字幕精品www乱入免费视频| 日韩午夜在线视频| 国内精品久久久久伊人av| 亚洲天天在线日亚洲洲精| 亚洲一区二区国产| 亚洲欧洲一区二区三区久久| 久久久久久久久久久国产| 日韩激情视频在线| 欧美性感美女h网站在线观看免费| 国产精品久久久久久久久久久新郎| 成人自拍性视频| 亚洲精品影视在线观看| 久久av中文字幕| 国产日韩精品在线播放| 精品国产一区久久久| 日韩男女性生活视频| 伊人伊人伊人久久| 日韩欧美在线看| 精品欧美国产一区二区三区| 亚洲欧美日韩另类| 国产精品18久久久久久首页狼| 成人xvideos免费视频| 亚洲va欧美va国产综合久久| 国产欧美日韩精品丝袜高跟鞋| 日本精品久久电影| 欧美在线不卡区| 精品国产老师黑色丝袜高跟鞋| 97视频在线观看亚洲| 日韩精品极品视频免费观看| 亚洲精品自拍偷拍| 国产亚洲欧美日韩一区二区| 亚洲精品一区二三区不卡| 日韩中文字幕在线播放| 国产美女久久精品| 91中文在线观看| 欧美又大粗又爽又黄大片视频| 久久国产精彩视频| 亚洲精品视频中文字幕| 亚洲福利在线播放| 欧美性猛交xxxx富婆弯腰| 国产免费久久av| 亚洲国产精品嫩草影院久久| 精品高清美女精品国产区| 国产91精品久久久| 欧美夫妻性生活xx| 亚洲毛片在线看| 日本成人在线视频网址| 成人性生交大片免费看小说| 亚洲人成网站777色婷婷| 91在线观看免费高清完整版在线观看| 成人av资源在线播放| 久久激情视频久久| 亚洲三级 欧美三级| 久久精品视频导航| 最新国产成人av网站网址麻豆| 国产精自产拍久久久久久| 亚洲图片欧美午夜| 亲子乱一区二区三区电影| 国内外成人免费激情在线视频| 国产97在线|亚洲| 中文字幕精品国产| 亚洲欧美福利视频| 国产精品视频大全| 国产精品香蕉av| 日韩在线观看网站| 日韩av片免费在线观看| 91久久国产综合久久91精品网站| 国产精品久久久久久久久免费| 久久久www成人免费精品张筱雨| 欧美裸体xxxx极品少妇软件| 国产精品一区二区久久精品| 国产999精品久久久影片官网| 日韩国产中文字幕| 日本久久中文字幕| 亚洲国产精品va在线看黑人| 欧洲永久精品大片ww免费漫画| 国产成人小视频在线观看| 影音先锋欧美在线资源| 久久全国免费视频| 在线亚洲欧美视频| y97精品国产97久久久久久| 亚洲视频精品在线| 欧美成人精品不卡视频在线观看| 国模极品一区二区三区| 国产精品极品美女粉嫩高清在线| 国产精品美乳一区二区免费| 一区二区三区四区视频| 欧美丰满少妇xxxxx| 日韩女在线观看| 欧美一级在线亚洲天堂| 欧美激情va永久在线播放| 国内精品久久久| 久久精品电影一区二区| 国产99在线|中文| 亚洲乱码国产乱码精品精天堂| 国产精品主播视频| 国产精品福利网站| 亚洲自拍偷拍网址| 国产精品27p| 欧美影院在线播放| 亚洲在线免费视频| 久久伊人91精品综合网站| 色综合久久中文字幕综合网小说| 亚洲激情国产精品| 欧美国产日韩xxxxx| 久久精品国产久精国产思思| 亚洲free性xxxx护士hd| 久热99视频在线观看| 精品一区精品二区| 国模叶桐国产精品一区| 日韩高清有码在线| 国产精品啪视频| 国产精品欧美激情| 国产一区二区在线免费| 亚洲欧美国产另类| 91视频国产精品| 中文字幕不卡在线视频极品| 亚洲欧美福利视频| 欧美日韩国产第一页| 精品国产区一区二区三区在线观看| 精品久久香蕉国产线看观看gif| 久久久91精品国产| 亚洲精品自拍视频| 日韩av在线直播| 日韩综合中文字幕| 成人动漫网站在线观看| 日韩极品精品视频免费观看| 色综合久久久久久中文网| 日韩中文理论片| 国产精品久久久久久久久久久久久久| 亚洲欧美日韩久久久久久| 亚洲国产高清福利视频| 中文字幕国产日韩| 精品国产电影一区| 久久精彩免费视频| 最近中文字幕日韩精品| 欧美激情视频网站| 亚洲free嫩bbb| 亚洲欧美在线第一页| 久久久久久91香蕉国产| 亚洲国产成人精品一区二区| 日韩电影免费在线观看| 亚洲美女福利视频网站| 精品亚洲va在线va天堂资源站| 国产精品视频导航| 色综合久久中文字幕综合网小说| 久久国内精品一国内精品| 国产欧美精品一区二区三区-老狼| 日韩精品中文字幕在线观看| 亚洲欧美中文日韩在线| 久久乐国产精品| 麻豆国产精品va在线观看不卡| 亚洲第一视频网站| 日韩精品免费一线在线观看|