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 相关文章推荐
Whatever:hover 无需javascript让IE支持丰富伪类
Jun 29 Javascript
JQuery文本框高亮显示插件代码
Apr 02 Javascript
鼠标拖动实现DIV排序示例代码
Oct 14 Javascript
通过jquery 获取URL参数并进行转码
Aug 18 Javascript
javascript实现手机震动API代码
Aug 05 Javascript
bootstrapValidator表单验证插件学习
Dec 30 Javascript
微信小程序 增、删、改、查操作实例详解
Jan 13 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
Feb 08 Javascript
简单的Vue异步组件实例Demo
Dec 27 Javascript
Node.js实现注册邮箱激活功能的方法示例
Mar 23 Javascript
gulp构建小程序的方法步骤
May 31 Javascript
解决Can't find variable: SockJS vue项目的问题
Sep 22 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数据库类
2009/05/27 PHP
检查php文件中是否含有bom的函数
2012/05/31 PHP
phpexcel导入excel数据使用方法实例
2013/12/24 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
2014/06/19 PHP
深入浅析php json 格式控制
2015/12/24 PHP
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
JavaScript 判断浏览器是否支持SVG的代码
2013/03/21 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
学习Angularjs分页指令
2016/07/01 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
Vue实现PopupWindow组件详解
2018/04/28 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
layui使用数据表格实现购物车功能
2019/07/26 Javascript
Vue解决移动端弹窗滚动穿透问题
2020/12/15 Vue.js
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
Python标准库之Sys模块使用详解
2015/05/23 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
python字符串的方法与操作大全
2018/01/30 Python
python检测主机的连通性并记录到文件的实例
2018/06/21 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
机械电子工程毕业生自荐信
2013/11/23 职场文书
医务人员自我评价
2014/01/26 职场文书
高二生物教学反思
2014/01/27 职场文书
单身联谊活动方案
2014/01/29 职场文书
迎国庆主题班会
2015/08/17 职场文书
初中地理教学反思
2016/02/19 职场文书
新手初学Java网络编程
2021/07/07 Java/Android
Redis中缓存穿透/击穿/雪崩问题和解决方法
2021/12/04 Redis
分享几个简单MySQL优化小妙招
2022/03/31 MySQL
我家女友可不止可爱呢 公开OP主题曲无字幕动画MV
2022/04/11 日漫
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL