国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

js中如何判斷數據類型

來源:懂視網 責編:小采 時間:2020-11-03 12:31:04
文檔

js中如何判斷數據類型

js中如何判斷數據類型:方法一、js內置方法typeof檢測基本數據類型的最佳選擇是使用typeoftypeof 來判斷數據類型,只能區分基本類型,即 number,string,undefined,boolean,object,function,symbol (ES6新增)七種。對于數組、nul
推薦度:
導讀js中如何判斷數據類型:方法一、js內置方法typeof檢測基本數據類型的最佳選擇是使用typeoftypeof 來判斷數據類型,只能區分基本類型,即 number,string,undefined,boolean,object,function,symbol (ES6新增)七種。對于數組、nul

方法一、js內置方法typeof

檢測基本數據類型的最佳選擇是使用typeof

typeof 來判斷數據類型,只能區分基本類型,即 “number”,”string”,”undefined”,”boolean”,”object”,“function”,“symbol” (ES6新增)七種。

對于數組、null、對象來說,其關系錯綜復雜,使用 typeof 都會統一返回 “object” 字符串。

示例:

var bool = true
var num = 1
var str = 'abc'
var und = undefined
var nul = null
var arr = [1,2,3]
var obj = {}
var fun = function(){}
var reg = new RegExp()

console.log(typeof bool); //boolean
console.log(typeof num); //number
console.log(typeof str); //string
console.log(typeof und); //undefined
console.log(typeof nul); //object
console.log(typeof arr); //object
console.log(typeof obj); //object
console.log(typeof reg); //object
console.log(typeof fun); //function

由結果可知,除了在檢測null時返回 object 和檢測function時放回function。對于引用類型返回均為object。

方法二、Object.prototype.toString()

Object.prototype.toString方法返回對象的類型字符串,因此可以用來判斷一個值的類型。

var obj = {};
obj.toString() // "[object Object]"上面代碼調用空對象的toString方法,結果返回一個字符串object Object,其中第二個Object表示該值的構造函數。這是一個十分有用的判斷數據類型的方法。

Object.prototype.toString.call(value)

上面代碼表示對value這個值調用Object.prototype.toString方法。

不同數據類型的Object.prototype.toString方法返回值如下。

數值:返回[object Number]。
字符串:返回[object String]。
布爾值:返回[object Boolean]。
undefined:返回[object Undefined]。
null:返回[object Null]。
數組:返回[object Array]。
arguments 對象:返回[object Arguments]。
函數:返回[object Function]。
Error 對象:返回[object Error]。
Date 對象:返回[object Date]。
RegExp 對象:返回[object RegExp]。
其他對象:返回[object Object]。

那么利用這個特性,可以寫出一個比typeof運算符更準確的類型判斷函數。

封裝出一個判斷類型的函數如下:

var type = function (o){
 var s = Object.prototype.toString.call(o);
 return s.match(/[object (.*?)]/)[1].toLowerCase();
};
type({}); // "object"
type([]); // "array"
type(5); // "number"
type(null); // "null"
type(); // "undefined"
type(/abcd/); // "regex"
type(new Date()); // "date"

另外:還可以加上專門判斷某種類型數據的方法

var type = function (o){
 var s = Object.prototype.toString.call(o);
 return s.match(/[object (.*?)]/)[1].toLowerCase();
};

var arr = ['Null', 'Undefined', 'Object', 'Array', 'String', 'Number', 
 'Boolean', 'Function', 'RegExp']

arr.forEach(function (t) {
 type['is' + t] = function (o) {
 return type(o) === t.toLowerCase();
 };
});

之后我們可以通過封裝出的方法去在不同需求時使用:如下

type.isObject({}) // true
type.isNumber(NaN) // true
type.isRegExp(/abc/) // true

推薦教程:js入門教程

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

js中如何判斷數據類型

js中如何判斷數據類型:方法一、js內置方法typeof檢測基本數據類型的最佳選擇是使用typeoftypeof 來判斷數據類型,只能區分基本類型,即 number,string,undefined,boolean,object,function,symbol (ES6新增)七種。對于數組、nul
推薦度:
標簽: 判斷 如何判斷 js
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美 日韩 高清 | 一道本一区二区三区 | 亚洲国产精品日韩一线满 | 黄色a免费| 欧美雌雄双性人交xxxx | 亚洲色图第一页 | 亚洲 欧美 自拍 另类 | 91久久精品国产免费一区 | 日本人乱人乱亲乱色视频观看 | 欧美日韩色视频在线观看 | 亚洲日韩精品欧美一区二区 | 精品久久久久久久中文字幕 | 亚洲免费福利 | 激情欧美一区二区三区中文字幕 | 久草精品在线观看 | 欧美啊v | 国产精品一区二区av | 欧美 在线播放 | 国产女人成人精品视频 | 亚洲一区有码 | 曰韩三级 | 亚洲欧美日韩中另类在线 | 在线观看视频一区 | 国产一区二区三区高清 | 国产精品网站在线观看 | 最近韩国日本免费观看 | 精品久久中文网址 | 日韩欧美综合视频 | 欧美成人伊人久久综合网 | 性夜影院爽黄a爽免费看网站 | 日韩欧美中字 | 福利一区福利二区 | 亚洲最新 | 视频一区二区三区欧美日韩 | 成人免费视频一区二区 | 日本aⅴ精品一区二区三区久久 | 亚洲 欧美 日韩 小说 另类 | 麻豆亚洲一区 | 国产精自产拍久久久久久 | 国产精品制服诱惑 | 中文字字幕|