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 相关文章推荐
详解jQuery插件开发中的extend方法
Nov 19 Javascript
Eclipse去除js(JavaScript)验证错误
Feb 11 Javascript
Javascript访问器属性实例分析
Dec 30 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
Dec 07 Javascript
详解jQuery中的isPlainObject()使用方法
Feb 27 jQuery
详解Immutable及 React 中实践
Mar 01 Javascript
angular2 组件之间通过service互相传递的实例
Sep 30 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
Jan 14 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
Jun 09 Javascript
js实现踩五彩块游戏
Feb 08 Javascript
vue2实现provide inject传递响应式
May 21 Vue.js
详解TypeScript的基础类型
Feb 18 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
smarty内置函数section的用法
2015/01/22 PHP
php通过asort()给关联数组按照值排序的方法
2015/03/18 PHP
php一个解析字符串排列数组的方法
2015/05/12 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
2010/07/17 Javascript
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
详解JS-- 浮点数运算处理
2016/11/28 Javascript
JavaScript中三个等号和两个等号你了解多少
2017/07/04 Javascript
webpack2.0配置postcss-loader的方法
2017/08/17 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
vue.js watch经常失效的场景与解决方案
2021/01/07 Vue.js
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
python如何通过protobuf实现rpc
2016/03/06 Python
Python探索之创建二叉树
2017/10/25 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
python实现剪切功能
2019/01/23 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
2020/07/09 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
Java面试题:请问一下代码输出是什么
2015/05/27 面试题
群众路线批评与自我批评
2014/02/06 职场文书
求职信格式要求
2014/05/23 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
学生评语集锦
2015/01/04 职场文书
员工年度工作总结2015
2015/05/18 职场文书
2015年英语教研组工作总结
2015/05/23 职场文书
校园歌手大赛主持词
2015/07/03 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
python数字转对应中文的方法总结
2021/08/02 Python