JS精确判断数据类型代码实例


Posted in Javascript onDecember 18, 2019

这篇文章主要介绍了JS精确判断数据类型代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

普通的判断方式有各种不足,typeof就不说了,判断模糊

constructor这种判断方式是可以,但是也有不足,如果aaa为null或者undefined的时候,代码就会报错

var aaa = {}
aaa.constructor === Object //true

下面介绍一种完美的判方式:利用Object.prototype.toString.call()判断

var toString = Object.prototype.toString;
 
 function isArray(val) {
  return toString.call(val) === '[object Array]'; 
 }
 
 function isObject(val) {
  return toString.call(val) === '[object Object]';
 }
 
 function isNull(val) {
  return toString.call(val) === '[object Null]'; 
 }
 
 function isUndefined(val) {
  return toString.call(val) === '[object Undefined]';
 }

如此,即能判断准确,又不会报错,是不是很完美,欢迎评论留言

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Shell脚本实现Linux系统和进程资源监控
Mar 05 Javascript
JavaScript中getUTCMinutes()方法的使用详解
Jun 10 Javascript
JS鼠标拖拽实例分析
Nov 23 Javascript
Extjs实现下拉菜单效果
Apr 01 Javascript
Node.js DES加密的简单实现
Jul 07 Javascript
react native仿微信PopupWindow效果的实例代码
Aug 07 Javascript
一步步教你利用Canvas对图片进行处理
Sep 19 Javascript
JavaScript设计模式之装饰者模式定义与应用示例
Jul 25 Javascript
解决JS表单验证只有第一个IF起作用的问题
Dec 04 Javascript
vue服务端渲染操作简单入门实例分析
Aug 28 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
Nov 15 Javascript
浅谈react useEffect闭包的坑
Jun 08 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
Dec 18 #Javascript
小程序简单两栏瀑布流效果的实现
Dec 18 #Javascript
js数据类型转换与流程控制操作实例分析
Dec 18 #Javascript
vue不操作dom实现图片轮播的示例代码
Dec 18 #Javascript
使用JS来动态操作css的几种方法
Dec 18 #Javascript
基于ts的动态接口数据配置的详解
Dec 18 #Javascript
H5实现手机拍照和选择上传功能
Dec 18 #Javascript
You might like
如何去掉文章里的 html 语法
2006/10/09 PHP
php访问查询mysql数据的三种方法
2006/10/09 PHP
PHP 选项及相关信息函数库
2006/12/04 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
Jquery中获取iframe的代码
2011/01/11 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
javascript中异常处理案例(推荐)
2016/10/03 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
2016/11/07 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
2018/05/22 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
进一步探究Python的装饰器的运用
2015/05/05 Python
Python3读取zip文件信息的方法
2015/05/22 Python
python append、extend与insert的区别
2016/10/13 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
python搜索包的路径的实现方法
2019/07/19 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
pygame实现五子棋游戏
2019/10/29 Python
python常用数据重复项处理方法
2019/11/22 Python
Pytorch释放显存占用方式
2020/01/13 Python
Python逐行读取文件内容的方法总结
2020/02/14 Python
经济系大学生求职信
2013/10/01 职场文书
幼师自我鉴定
2014/02/01 职场文书
物理力学求职信
2014/02/18 职场文书
文明演讲稿范文
2014/05/12 职场文书
员工培训协议书
2014/09/15 职场文书
校长四风对照检查材料
2014/09/27 职场文书
Vue图片裁剪组件实例代码
2021/07/02 Vue.js
java基础——多线程
2021/07/03 Java/Android
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python
Windows 64位 安装 mysql 8.0.28 图文教程
2022/04/19 MySQL
使用 Docker Compose 构建复杂的多容器App
2022/04/30 Servers