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对象和字串之间的转换实例探讨
Apr 21 Javascript
js文件Cookie存取值示例代码
Feb 20 Javascript
js老生常谈之this,constructor ,prototype全面解析
Apr 05 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
Apr 21 Javascript
避免jQuery名字冲突 noConflict()方法
Jul 30 Javascript
1秒50万字!js实现关键词匹配
Aug 01 Javascript
BootStrap树状图显示功能
Nov 24 Javascript
如何在js代码中消灭for循环实例详解
Jul 29 Javascript
vue项目每30秒刷新1次接口的实现方法
Dec 04 Javascript
fetch 如何实现请求数据
Dec 20 Javascript
vue自动路由-单页面项目(非build时构建)
Apr 30 Javascript
Layui 动态禁止select下拉的例子
Sep 03 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 一个页面执行时间类代码
2010/03/05 PHP
php操作excel文件 基于phpexcel
2010/07/02 PHP
php更改目录及子目录下所有的文件后缀扩展名的代码
2010/10/12 PHP
nginx+php-fpm配置文件的组织结构介绍
2012/11/07 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
php封装的pdo数据库操作工具类与用法示例
2019/05/08 PHP
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
JavaScript文本框脚本编写的注意事项
2016/01/25 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
Javascript+CSS3实现进度条效果
2016/10/28 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
Vue封装Swiper实现图片轮播效果
2018/02/06 Javascript
Vue组件之高德地图地址选择功能的实例代码
2019/06/21 Javascript
jQuery属性选择器用法实例分析
2019/06/28 jQuery
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
详解小程序如何动态绑定点击的执行方法
2019/11/26 Javascript
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
在Django框架中设置语言偏好的教程
2015/07/27 Python
Python之os操作方法(详解)
2017/06/15 Python
python清理子进程机制剖析
2017/11/23 Python
Python求解任意闭区间的所有素数
2018/06/10 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
Python的垃圾回收机制详解
2019/08/28 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
Python截图并保存的具体实例
2021/01/14 Python
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
总务岗位职责
2013/11/19 职场文书
运动会入场词60字
2014/02/15 职场文书
跑操口号
2014/06/12 职场文书
2014年度培训工作总结
2014/11/27 职场文书