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

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
相关推荐
祈澈菇凉4 小时前
Webpack的基本功能有哪些
前端·javascript·vue.js
小纯洁w4 小时前
Webpack 的 require.context 和 Vite 的 import.meta.glob 的详细介绍和使用
前端·webpack·node.js
想睡好4 小时前
css文本属性
前端·css
qianmoQ4 小时前
第三章:组件开发实战 - 第五节 - Tailwind CSS 响应式导航栏实现
前端·css
记得早睡~5 小时前
leetcode150-逆波兰表达式求值
javascript·算法·leetcode
zhoupenghui1685 小时前
golang时间相关函数总结
服务器·前端·golang·time
White graces5 小时前
正则表达式效验邮箱格式, 手机号格式, 密码长度
前端·spring boot·spring·正则表达式·java-ee·maven·intellij-idea
庸俗今天不摸鱼5 小时前
Canvas进阶-4、边界检测(流光,鼠标拖尾)
开发语言·前端·javascript·计算机外设
bubusa~>_<5 小时前
解决npm install 出现error,比如:ERR_SSL_CIPHER_OPERATION_FAILED
前端·npm·node.js
[廾匸]6 小时前
cesium视频投影
javascript·无人机·cesium·cesium.js·视频投影