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的12个网站推荐
Apr 28 Javascript
YUI模块开发原理详解
Nov 18 Javascript
javascript常用的正则表达式实例
May 15 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
Aug 16 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
Mar 02 Javascript
JS简单实现动画弹出层效果
May 05 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
Dec 09 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
May 09 Javascript
常用的js方法合集
Mar 10 Javascript
搭建vue开发环境
Jul 19 Javascript
vue 子组件watch监听不到prop的解决
Aug 09 Javascript
vue 实现基础组件的自动化全局注册
Dec 25 Vue.js
使用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/10/09 PHP
PHP 配置open_basedir 让各虚拟站点独立运行
2009/11/12 PHP
PHP5中使用DOM控制XML实现代码
2010/05/07 PHP
php获取表单中多个同名input元素的值
2014/03/20 PHP
php实现从上传文件创建缩略图的方法
2015/04/02 PHP
laravel学习教程之存取器
2016/07/30 PHP
PHP7 新增功能
2021/03/09 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
jquery 图片轮换效果
2010/07/29 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
2017/11/02 Javascript
React Native基础入门之初步使用Flexbox布局
2018/07/02 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
一个手写的vue放大镜效果
2019/08/09 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
javascript实现抢购倒计时程序
2019/08/26 Javascript
JS实现随机抽取三人
2019/11/06 Javascript
JavaScript 链表定义与使用方法示例
2020/04/28 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
Python 遍历列表里面序号和值的方法(三种)
2017/02/17 Python
python内存管理机制原理详解
2019/08/12 Python
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
Lookfantastic西班牙官网:英国知名美妆购物网站
2018/06/13 全球购物
New delete 与malloc free 的联系与区别
2013/02/04 面试题
安全承诺书格式
2014/05/21 职场文书
教师三严三实对照检查材料
2014/09/25 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
大学毕业谢师宴致辞
2015/07/27 职场文书
合作合同协议书
2016/03/21 职场文书
Go语言使用select{}阻塞main函数介绍
2021/04/25 Golang