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

首頁 > 編程 > JavaScript > 正文

JavaScript中判斷數據類型的方法總結

2019-11-20 09:56:05
字體:
來源:轉載
供稿:網友

typeof
typeof用的比較多的時候,是判斷某個全局變量在不在,假如某個頁面定義了一個全局變量。假如你做如下判斷:

//haorooms是全局變量if(haorooms!=undefined){}//js會報錯,說"Uncaught ReferenceError: haorooms is not defined"

解決的方法是我們如下寫:

 if(typeof haorooms!=undefined){ }

用了typeof之后,就不會報錯了!這是typeof的應用之一!

此外,typeof還可以進行數據類型的判斷!如下:

var haorooms="string"; console.log(haorooms); //stringvar haorooms=1; console.log(haorooms); //numbervar haorooms=false; console.log(haorooms); //booleanvar haorooms; console.log(typeof haorooms); //undfinedvar haorooms= null; console.log(typeof haorooms); //objectvar haorooms = document; console.log(typeof haorooms); //objectvar haorooms = []; console.log(haorooms); //objectvar haorooms = function(){}; console.log(typeof haorooms) //function  除了可以判斷數據類型還可以判斷function類型

很明顯,對于typeof,除了前四個類型外,null、對象、數組返回的都是object類型;

instanceof
可以用其判斷是否是數組。

var haorooms=[];console.log(haorooms instanceof Array) //返回true 

constructor
constructor就是返回對象相對應的構造函數。
判斷各種數據類型的方法:

console.log([].constructor == Array);console.log({}.constructor == Object);console.log("string".constructor == String);console.log((123).constructor == Number);console.log(true.constructor == Boolean);function employee(name,job,born){  this.name=name;  this.job=job;  this.born=born; }var haorooms=new employee("Bill Gates","Engineer",1985); console.log(haorooms.constructor); //輸出function employee(name, jobtitle, born){this.name = name; this.jobtitle = job; this.born = born;}

通過輸出haorooms.constructor,可以看出constructor就是返回對象相對應的構造函數。

Object.prototype.toString
前面我們提到了可以運用 constructor 屬性來判定物件類型,讓我們再來講講 Object.protype.toString 這個方法

Object.prototype.toString.apply({}) // "[object Object]"Object.prototype.toString.apply([]) // "[object Array]"Object.prototype.toString.apply(NaN)// "[object Number]"Object.prototype.toString.apply(function(){}) // "[object Function]"

運用這種方式我們可以正確的判斷一個變量的基本型態,但是如果是自訂類型的話,卻無法得知真正的類型,因為結果依然會是 [object Object]

其他
jQuery 也有類型判斷的方法,下面是一例

$.isWindow(window) // true

怎么做的呢

core.js#479isWindow: function( obj ) {  return obj != null && obj == obj.window;}

所以開一個這樣的 Object:

var fakeWindow;fakeWindow = {};fakeWindow.window = fakeWindow;$.isWindow(fakeWindow) // true

你就騙過他了。

小結
在 JavaScript 中要正確判斷類型,當仔細去鉆研的時候,真是一件麻煩事,根據不同的情境去設計你的判斷式是相當重要的,我們也必須要去思考如何用最簡潔的方式判斷正確的類型,當然這篇還有很多地方沒有介紹到,例如 isPrototypeOf 這個方法,JavaScript 是一個有許多歷史包袱的語言,但也是不斷的在進步,運用它的時候,要注意,有太多的方式是雙面刃,切記要小心運用。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产aⅴ夜夜欢一区二区三区| 久久久之久亚州精品露出| 久久久国产视频| 国产日产久久高清欧美一区| 色天天综合狠狠色| 国产亚洲精品久久久久久| 日韩在线激情视频| 成人免费视频xnxx.com| 成人免费午夜电影| 亚洲精品国产品国语在线| 亚洲缚视频在线观看| 日韩欧美亚洲一二三区| 日韩精品在线视频| 国产精品极品在线| 欧美一级黄色网| 亚洲国产另类久久精品| 国产99在线|中文| 国产精品久久久久久av| 国产精品一二三在线| 日本久久中文字幕| 欧美极度另类性三渗透| 九九热这里只有精品免费看| 国产视频精品免费播放| 97在线免费观看| 中文字幕日韩精品有码视频| 亚洲国产日韩欧美综合久久| 91丝袜美腿美女视频网站| 神马国产精品影院av| 国内精品久久久久久中文字幕| 亚洲va欧美va在线观看| 国产v综合v亚洲欧美久久| 久久久久中文字幕| 91免费在线视频网站| 日韩一区二区av| 91热精品视频| 久久国产天堂福利天堂| 国产精品美腿一区在线看| 日韩中文字幕在线精品| 亚洲国产精品va在线| 日韩美女av在线| 亚洲最大的av网站| 国产99视频精品免视看7| 亚洲黄色成人网| 欧美另类交人妖| 国产精品亚洲视频在线观看| 日韩欧美中文免费| 国产成人精品视频在线观看| 免费91麻豆精品国产自产在线观看| 日韩一二三在线视频播| 亚洲国产成人精品女人久久久| 欧美裸体xxxx极品少妇| 97在线看免费观看视频在线观看| 欧美亚洲在线播放| 国产精品一区二区久久久| 欧美国产极速在线| 欧美xxxx14xxxxx性爽| 国产精品主播视频| 亚洲精品综合久久中文字幕| 欲色天天网综合久久| 高清在线视频日韩欧美| 国产一区深夜福利| 欧美性猛交xxxxx水多| 国产91网红主播在线观看| 日韩欧美黄色动漫| 国产91精品网站| 成人久久久久久| 国产精品自产拍高潮在线观看| 久久久国产精彩视频美女艺术照福利| 韩国19禁主播vip福利视频| 中文字幕日韩有码| 国产精品久久久久久久久久免费| 日韩免费观看网站| 日韩福利在线播放| 国产精品免费久久久久久| 成人黄色免费网站在线观看| 最新国产精品拍自在线播放| 欧美日韩国产精品专区| 国产精品成人av在线| 91在线高清免费观看| 欧美激情按摩在线| 欧美成人一区在线| 国产精品久久一区| 国产精品久久久久久久久久久新郎| 91免费精品视频| 91九色国产视频| 午夜精品福利电影| 78色国产精品| 91精品久久久久久久久久久久久久| 欧美日韩亚洲一区二区| 在线观看精品国产视频| 日韩中文字幕精品| 国产精品jvid在线观看蜜臀| www.日韩免费| 中文字幕欧美视频在线| 5278欧美一区二区三区| 亚洲电影免费在线观看| 欧洲美女免费图片一区| 久久久999精品免费| 国产精品香蕉在线观看| 欧美性xxxxxx| 在线播放日韩精品| 激情成人在线视频| 日韩免费av在线| 欧美猛少妇色xxxxx| 欧美日韩黄色大片| 日韩中文字幕免费看| 日韩精品中文字幕在线观看| 最近2019年好看中文字幕视频| 国产男女猛烈无遮挡91| 4444欧美成人kkkk| 日韩av在线导航| 66m—66摸成人免费视频| 3344国产精品免费看| 秋霞av国产精品一区| 亚洲第一av网站| 少妇高潮久久久久久潘金莲| 欧美老女人在线视频| 日韩久久免费视频| 国产精品久久久久aaaa九色| 亚洲精品动漫100p| 欧美精品一区二区免费| 久久99国产精品久久久久久久久| 国产伦精品免费视频| 丝袜美腿亚洲一区二区| 亚洲成人动漫在线播放| 日韩在线中文字| 久久亚洲国产精品成人av秋霞| 国产成人精品在线| 成人欧美一区二区三区在线湿哒哒| 国产97在线|日韩| 2020久久国产精品| 国产美女高潮久久白浆| 久久久久久国产免费| 在线观看视频99| 91精品91久久久久久| 欧美亚洲第一页| 亚洲天堂2020| 亚洲欧美色婷婷| 国产成人精品久久久| 91美女片黄在线观看游戏| 高跟丝袜一区二区三区| 欧美日韩一区二区三区| 亚洲在线免费视频| 亚洲欧美国产精品| 日韩大陆毛片av| 欧美亚洲国产日韩2020| www高清在线视频日韩欧美| 日本电影亚洲天堂| 狠狠色狠狠色综合日日小说| 精品一区二区电影| 欧美成人午夜激情视频| 久久久人成影片一区二区三区观看| 中文字幕亚洲欧美日韩高清| 国产亚洲精品日韩| 欧美性开放视频| 亚洲美女动态图120秒| 久久精品国产成人| 欧美国产日韩视频| 日本国产一区二区三区| 成人国产精品久久久久久亚洲| 精品久久久久久久久国产字幕| 精品久久久久久久久国产字幕| 日韩精品在线私人| 日韩精品视频在线播放|