日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

JavaScript 判斷數據類型的4種方法

瀏覽:176日期:2023-10-14 10:30:56

本文提供四種方法判斷js數據類型,這里記錄了它們之間的差異,分別是 typeof 運算符、instanceof 運算符、constructor 屬性、Object.prototype.toString 方法。

一、使用 typeof 判斷數據類型

console.log(’測試 Number ->’, typeof 1); // numberconsole.log(’測試 Boolean ->’, typeof true); // booleanconsole.log(’測試 String ->’, typeof ’’); // stringconsole.log(’測試 null ->’, typeof null); // objectconsole.log(’測試 undefined ->’, typeof undefined); // undefinedconsole.log(’測試 NaN ->’, typeof NaN); // numberconsole.log(’測試 function ->’, typeof function () { }); // functionconsole.log(’測試 Object ->’, typeof {}); // objectconsole.log(’測試 Array ->’, typeof []); // objectconsole.log(’測試 Date ->’, typeof new Date()); // objectconsole.log(’測試 Error ->’, typeof new Error()); // objectconsole.log(’測試 RegExp ->’, typeof new RegExp()); // objectconsole.log(’測試 Symbol ->’, typeof Symbol()); // symbolconsole.log(’測試 Map ->’, typeof new Map()); // objectconsole.log(’測試 Set ->’, typeof new Set()); // object

控制臺輸出如下:

測試 Number -> number測試 Boolean -> boolean測試 String -> string測試 null -> object測試 undefined -> undefined測試 NaN -> number測試 function -> function測試 Object -> object測試 Array -> object測試 Date -> object測試 Error -> object測試 RegExp -> object測試 Symbol -> symbol測試 Map -> object測試 Set -> object

總結:

1、typeof只能判斷:

String(返回string), Number(返回number), Boolean(返回boolean), undefined(返回undefined), function(返回function), Symbol(返回symbol)

2、對于new構造出來的都是返回object

3、對于Object和Array都是返回object

二、使用 instanceof 判斷數據類型

console.log(’測試 Number ->’, 1 instanceof Number); // falseconsole.log(’測試 Boolean ->’, true instanceof Boolean); // falseconsole.log(’測試 String ->’, ’’ instanceof String); // false// console.log(’測試 null ->’, null instanceof null); // TypeError: Cannot read property ’constructor’ of null// console.log(’測試 undefined ->’, undefined instanceof undefined); // TypeError: Cannot read property ’constructor’ of undefinedconsole.log(’測試 NaN ->’, NaN instanceof Number); // falseconsole.log(’測試 function ->’, function () { } instanceof Function); // trueconsole.log(’測試 Object ->’, {} instanceof Object); // trueconsole.log(’測試 Array ->’, [] instanceof Array); // trueconsole.log(’測試 Date ->’, new Date() instanceof Date); // trueconsole.log(’測試 Error ->’, new Error() instanceof Error); // trueconsole.log(’測試 RegExp ->’, new RegExp() instanceof RegExp); // trueconsole.log(’測試 Symbol ->’, Symbol() instanceof Symbol); // falseconsole.log(’測試 Map ->’, new Map() instanceof Map); // trueconsole.log(’測試 Set ->’, new Set() instanceof Set); // trueconsole.log(’測試 new Number ->’, new Number(1) instanceof Number); // trueconsole.log(’測試 new Boolean ->’, new Boolean(true) instanceof Boolean); // trueconsole.log(’測試 new String ->’, new String(’’) instanceof String); // true

控制臺輸出如下:

測試 Number -> false測試 Boolean -> false測試 String -> false測試 NaN -> false測試 function -> true測試 Object -> true測試 Array -> true測試 Date -> true測試 Error -> true測試 RegExp -> true測試 Symbol -> false測試 Map -> true測試 Set -> true測試 new Number -> true測試 new Boolean -> true測試 new String -> true

總結:

1、不能判斷 null,undefined

2、基本數據類型 Number,String,Boolean 不能被判斷

3、instanceof 用來判斷對象是否為某一數據類型的實例,上例中1,true,’’不是實例,所以判斷為false

三、使用 constructor 判斷數據類型

console.log(’測試 Number ->’, (1).constructor === Number); // trueconsole.log(’測試 Boolean ->’, true.constructor === Boolean); // trueconsole.log(’測試 String ->’, ’’.constructor === String); // true// console.log(’測試 null ->’, null.constructor === null); // TypeError: Cannot read property ’constructor’ of null// console.log(’測試 undefined ->’, undefined.constructor); // TypeError: Cannot read property ’constructor’ of undefinedconsole.log(’測試 NaN ->’, NaN.constructor === Number); // true 注意:NaN和infinity一樣是Number類型的一個特殊值console.log(’測試 function ->’, function () { }.constructor === Function); // trueconsole.log(’測試 Object ->’, {}.constructor === Object); // trueconsole.log(’測試 Array ->’, [].constructor === Array); // trueconsole.log(’測試 Date ->’, new Date().constructor === Date); // trueconsole.log(’測試 Error ->’, new Error().constructor === Error); // trueconsole.log(’測試 RegExp ->’, new RegExp().constructor === RegExp); // trueconsole.log(’測試 Symbol ->’, Symbol().constructor === Symbol); // trueconsole.log(’測試 Map ->’, new Map().constructor === Map); // trueconsole.log(’測試 Set ->’, new Set().constructor === Set); // true

控制臺輸出如下:

測試 Number -> true測試 Boolean -> true測試 String -> true測試 NaN -> true測試 function -> true測試 Object -> true測試 Array -> true測試 Date -> true測試 Error -> true測試 RegExp -> true測試 Symbol -> true測試 Map -> true測試 Set -> true

總結:

不能判斷null,undefined,其它的都可以

四、使用 Object.prototype.toString 判斷數據類型

console.log(’測試 Number ->’, Object.prototype.toString.call(1)); // [object Number]console.log(’測試 Boolean ->’, Object.prototype.toString.call(true)); // [object Boolean]console.log(’測試 String ->’, Object.prototype.toString.call(’’)); // [object String]console.log(’測試 null ->’, Object.prototype.toString.call(null)); // [object Null]console.log(’測試 undefined ->’, Object.prototype.toString.call(undefined)); // [object Undefined]console.log(’測試 NaN ->’, Object.prototype.toString.call(NaN)); // [object Number]console.log(’測試 function ->’, Object.prototype.toString.call(function () { })); // [object Function]console.log(’測試 Object ->’, Object.prototype.toString.call({})); // [object Object]console.log(’測試 Array ->’, Object.prototype.toString.call([])); // [object Array]console.log(’測試 Date ->’, Object.prototype.toString.call(new Date())); // [object Date]console.log(’測試 Error ->’, Object.prototype.toString.call(new Error())); // [object Error]console.log(’測試 RegExp ->’, Object.prototype.toString.call(new RegExp())); // [object RegExp]console.log(’測試 Symbol ->’, Object.prototype.toString.call(Symbol())); // [object Symbol]console.log(’測試 Map ->’, Object.prototype.toString.call(new Map())); // [object Map]console.log(’測試 Set ->’, Object.prototype.toString.call(new Set())); // [object Set]

控制臺輸出如下:

測試 Number -> [object Number]測試 Boolean -> [object Boolean]測試 String -> [object String]測試 null -> [object Null]測試 undefined -> [object Undefined]測試 NaN -> [object Number]測試 function -> [object Function]測試 Object -> [object Object]測試 Array -> [object Array]測試 Date -> [object Date]測試 Error -> [object Error]測試 RegExp -> [object RegExp]測試 Symbol -> [object Symbol]測試 Map -> [object Map]測試 Set -> [object Set]

總結:

目前最完美的判斷數據類型的方法

結語:以上為筆者的測試和總結。如有誤或不完整地方,歡迎各位老鐵指正。

以上就是JavaScript 判斷數據類型的4種方法的詳細內容,更多關于JavaScript判斷數據類型的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品观看| 国产精品多人| 国产欧美亚洲一区| 国产精品一区二区av交换| 日韩高清欧美| 国产一区白浆| 亚洲一区二区小说| 免费在线观看成人| 精品1区2区3区4区| 日韩av自拍| 美女毛片一区二区三区四区最新中文字幕亚洲| 日韩av网站在线观看| 日本欧洲一区二区| 国产偷自视频区视频一区二区| 亚洲精品123区| 免费精品国产| 99久久久国产精品美女| 亚洲欧洲美洲av| 国产精品福利在线观看播放| 国产精品久久久久蜜臀| 欧美亚洲综合视频| 石原莉奈在线亚洲三区| 一区三区视频| 亚洲一级网站| 韩国三级一区| 亚洲欧洲高清| 亚洲天堂av影院| 久久一级电影| 亚洲高清成人| 一区在线免费| 蜜桃久久久久久久| 亚洲图片久久| 欧美成人aaa| 精品视频自拍| 久久精品高清| 99热精品久久| 亚洲一区国产一区| 日韩av网站在线观看| 国产亚洲高清在线观看| 国产精品美女在线观看直播| 精品国产一级| 三上悠亚国产精品一区二区三区| 久久精品影视| 亚洲经典在线| 日韩国产在线观看一区| 国产精品久久久网站| 卡一精品卡二卡三网站乱码| 欧美精品1区| 精品久久久网| 亚洲成av人片一区二区密柚| 亚洲成人不卡| 亚洲综合另类| 亚洲精品日本| 久久99视频| 久久久久.com| 国产综合亚洲精品一区二| 日本久久成人网| av一区二区高清| 99国产精品| 日本高清久久| 欧美国产免费| 香蕉人人精品| 日本成人在线不卡视频| 久久精品一区二区国产| 日韩在线看片| 一区福利视频| 97精品资源在线观看| www.51av欧美视频| 久久亚洲二区| 麻豆精品久久| 亚洲激情久久| 麻豆精品蜜桃视频网站| 999国产精品| 日韩一区中文| 在线一区av| 日韩欧美激情电影| 成人国产精选| 久久国产精品久久w女人spa| 美女久久久精品| 国产欧美三级| 精品国产黄a∨片高清在线| 中文字幕在线高清| 四虎成人精品一区二区免费网站| 日韩av片子| 天堂久久一区| 久久国产直播| 国产精品一区二区99| 亚洲欧美伊人| 麻豆视频一区二区| 日韩影院免费视频| 久久男人天堂| 18国产精品| 91精品国产调教在线观看 | 亚洲深夜福利| 国产精品99久久免费| 久久影视一区| 你懂的国产精品| 综合欧美精品| 国产一区二区中文| 久久久久观看| 免费人成网站在线观看欧美高清| 久久精品一本| 亚洲开心激情| 999久久久亚洲| 国产精品久久免费视频| 亚洲视频www| 色网在线免费观看| 国产免费av一区二区三区| 四虎884aa成人精品最新| 国产精品亚洲片在线播放| 伊人成人网在线看| 日韩国产一区二区三区| 国产精品超碰| 国产欧美久久一区二区三区| 91精品国产自产在线丝袜啪| 国产精品美女久久久浪潮软件| 国产一区观看| av高清一区| 欧美三级网址| 精品一区91| 日韩欧美少妇| 日韩国产一二三区| 奶水喷射视频一区| 日韩av免费| 视频二区不卡| 欧美亚洲日本精品| 日韩亚洲一区在线| 精品精品久久| 黄色aa久久| 精品久久国产一区| 国产精品99视频| 久久av网站| 欧美日韩视频免费看| 亚洲精品成人一区| 水野朝阳av一区二区三区| 亚洲精品中文字幕乱码| 久久精品 人人爱| 中文字幕av一区二区三区人| 欧美好骚综合网| 精品亚洲a∨| 国产一区福利| 九九九精品视频| 欧美激情久久久久久久久久久| 亚洲区欧美区| 综合干狼人综合首页| 91久久黄色| 国产毛片久久| 国产精品毛片在线| 亚洲欧美激情诱惑| 欧美一级精品| 久久视频精品| 国产综合色产| 婷婷综合社区| 午夜欧美理论片| 欧美69视频| 一本大道色婷婷在线| 国产综合色区在线观看| 天堂av在线| 98精品久久久久久久| 一区二区精品伦理...| 国产一区二区三区天码| 极品av在线| 久久一级电影| 欧美成人国产| 免费日韩av片| 视频一区欧美日韩| 日韩精品午夜视频| 国产调教精品| 麻豆国产精品777777在线| 久久国产免费看| 麻豆传媒一区二区三区| 日韩综合在线| 99久久精品费精品国产| 尤物网精品视频| 亚州精品视频| 美女性感视频久久| 日韩深夜视频| 国产亚洲午夜| 欧美色图一区| 国产亚洲毛片| 免费在线成人| 一本一本久久| 老司机精品视频网| 国产麻豆综合| 91九色综合| 99精品美女| 日本综合视频| 久久精品国内一区二区三区水蜜桃| 蜜桃一区二区三区在线| 精品欠久久久中文字幕加勒比| 99视频精品免费观看| 精品久久亚洲| 三级一区在线视频先锋| 97精品国产福利一区二区三区| 蜜桃免费网站一区二区三区| 国产中文在线播放| 日韩av不卡一区二区| 精品在线91| 精品一区二区三区亚洲| 亚洲一区二区三区高清不卡|