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

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
相关推荐
jingling55510 分钟前
UniApp 实现顶部固定导航栏 Tab 及滚动变色效果
前端·javascript·前端框架·uni-app
The_era_achievs_hero16 分钟前
UniappDay06
开发语言·javascript·uni-app
kymjs张涛33 分钟前
零一开源|前沿技术周刊 #10
java·前端·面试
Sawtone39 分钟前
[前端] Leader:可以不用但要知道😠一文速查 TypeScript 基础知识点,字典式速查,全文干货!
前端
Wcowin40 分钟前
mkdocs-document-dates
前端·github
用户10220791757111 小时前
表格拖拽原生实现
前端·javascript
五月君_1 小时前
见证历史:Vite 首次超越 Webpack!
前端·webpack·node.js
小old弟1 小时前
前端开发,Promise 从原理到实现,一文通
前端
nickzone1 小时前
Next.js + Shopify OAuth 第三方应用接入完整指南
前端
xyphf_和派孔明1 小时前
web前端React和Vue框架与库安全实践
前端·javascript·前端框架