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 相关文章推荐
javascript模拟枚举的简单实例
Mar 06 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
Mar 19 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
May 25 Javascript
js判断子窗体是否关闭的方法
Aug 11 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
Jan 12 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
Dec 08 Javascript
Javascript this 函数深入详解
Dec 13 Javascript
js判断手机号是否正确并返回的实现代码
Jan 17 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
Mar 01 Javascript
ES6中Math对象新增的方法实例详解
Apr 25 Javascript
React BootStrap用户体验框架快速上手
Mar 06 Javascript
javascript+Canvas实现画板功能
Jun 23 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
一些PHP写的小东西
2006/12/06 PHP
php和js交互一例-PHP教程,PHP应用
2007/01/03 PHP
MySql中正则表达式的使用方法描述
2008/07/30 PHP
PHP实现搜索相似图片
2015/09/22 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
Dom 是什么的详细说明
2010/10/25 Javascript
前端开发过程中浏览器版本的两种判定方法
2013/10/30 Javascript
html5+javascript制作简易画板附图
2014/04/25 Javascript
jquery获取radio值(单选组radio)
2014/10/16 Javascript
JavaScript中的setUTCDate()方法使用详解
2015/06/11 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
jquery easyUI中ajax异步校验用户名
2016/08/19 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
js监听html页面的上下滚动事件方法
2018/09/11 Javascript
详解angularjs4部署文件过大解决过程
2018/12/05 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
Python插件virtualenv搭建虚拟环境
2017/11/20 Python
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
python 默认参数相关知识详解
2019/09/18 Python
python可以用哪些数据库
2020/06/22 Python
MIRTA官网:手工包,100%意大利制造
2020/02/11 全球购物
C#里面可以避免一个类被其他类继承么?如何?
2013/09/26 面试题
红色影片观后感
2015/06/18 职场文书
小学体育组工作总结
2015/08/13 职场文书
计算机教师工作总结
2015/08/13 职场文书
python中的plt.cm.Paired用法说明
2021/05/31 Python
Python实现机器学习算法的分类
2021/06/03 Python
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android
深入理解Pytorch微调torchvision模型
2021/11/11 Python
梳理总结Python开发中需要摒弃的18个坏习惯
2022/01/22 Python