前端判断数据类型的方法有哪些?

1、typeof

(1)返回:一个值的数据类型的字符串

(2)可以判断:一个值的数据类型是 string、number、boolean、object、function 等

(3)无法判断:对于复杂数据类型就不起作用(Array),因为对于复杂数据类型的判断结果也是 object,跟 null 的判断返回结果相同

javascript 复制代码
var o = new Array();
console.log(typeof 1);//number
console.log(typeof 'sxx');//string
console.log(typeof true);//boolean
console.log(typeof undefined);//undefined
console.log(typeof null);//object
console.log(typeof o);//object

2、instanceof

(1)返回:检测一个对象是否 属于某个特定的对象类型

(2)通过使用 instanceof 操作符,你可以判断一个对象是否属于 Array、Date、RegExp 等特定类型,判断简单数据类型,但是简单数据类型不能以字面量的形式创建,否则返回值为false;如果通过new关键字去创建简单数据类型,则返回值为true;null和undefined这两个比较特殊

javascript 复制代码
console.log([] instanceof Array);//true
console.log({} instanceof Object);//true
console.log(function(){} instanceof Function);//true
console.log(1 instanceof Number);//false
console.log('xiaoming' instanceof String);//false
console.log(true instanceof Boolean);//false
console.log('--------------------------------');
console.log(new Number(1) instanceof Number);//true

3、Object.prototype.toString.call

返回一个表示对象的字符串

通过使用 Object.prototype.toString.call() 方法,你可以判断一个值的详细数据类型,如 "[object Object]"、"[object Array]"、"[object Date]" 等

javascript 复制代码
var a = Object.prototype.toString;
console.log(a.call("xiaoming"));//String
console.log(a.call(1));//Number
console.log(a.call(true));//Boolean
console.log(a.call(null));//Null
console.log(a.call(undefined));//Undefined
console.log(a.call([]));//Array
console.log(a.call(function () { }));//Function
console.log(a.call({}));//Object
相关推荐
薛定谔的算法3 分钟前
JavaScript栈的实现与应用:从基础到实战
前端·javascript·算法
深圳外环高速7 分钟前
React 受控组件如何模拟用户输入
前端·react.js
土了个豆子的7 分钟前
03.缓存池
开发语言·前端·缓存·visualstudio·c#
手握风云-23 分钟前
JavaEE 进阶第四期:开启前端入门之旅(四)
前端
魔云连洲28 分钟前
React中的合成事件
前端·javascript·react.js
六月的可乐1 小时前
【干货推荐】AI助理前端UI组件-悬浮球组件
前端·人工智能·ui
呼啦啦呼_1 小时前
Echarts自定义地图显示区域,显示街道学校等区域,对原有区域拆分
前端
浩星1 小时前
iframe引入界面有el-date-picker日期框,点击出现闪退问题处理
前端·vue.js·elementui
技术钱1 小时前
element plus 多个form校验
前端