在javaScript中检测数据类型的几种方式小结


Posted in Javascript onMarch 04, 2017

在用javaScript编程的过程中,我们经常会遇到这样一个问题,就是需要检测一个数据或变量的类型,那么在javaScript中给我们提供了哪些方法呢?网上流传的代码比比皆是,但是发现其中有些是有误的,索性我自己动手把每种方法用了一遍,今天我专门整理了下,以便以后查阅。

一、typeof  检测

typeof 是一个一元运算符,语法:typeof(运算数),运算数可以是任意类型。它的返回值是一个字符串,该字符串说明运算数的类型。

// var arr = { name:"john"}; // object
  // var arr = ["语文","数学"]; // object
  // function Person() {};  // typeof(Person) => function
  // var arr = '我是字符串' ; // string
  // var arr = 66 ;    // number
  // var arr = true ;   // boolean
  // var arr = new Person(); // object
  // var arr = undefined;  // undefined
  // var arr = null;   // object
  // var arr = /^\d{5,20}$/; // object
  // console.log( typeof(arr) );

二、instanceof  检测

instanceof 检测某个对象是不是另一个对象的实例,可以在继承关系中用来判断一个实例是否属于它的父类型。

// var arr = '我是字符串' ;   // console.log( arr instanceof String ) => false
    // var arr = 66 ;      
 // console.log( arr instanceof Number ) =>false
    // var arr = true ;     
 // console.log( arr instanceof Boolean ) =>false
    // var arr = ["语文","数学"];
 // console.log( arr instanceof Array ) =>true
    // var arr = { name:"john"}; 
 // console.log( arr instanceof Object ) =>true
    // var arr = function Person(){}; //console.log(arr instanceof Function)=>true
    // var arr = undefined;      // console.log(arr instanceof Object)=>false
    // var arr = null;        // console.log(arr instanceof Object)=>false
    // var arr = /^\d{5,20}$/;    // console.log(arr instanceof RegExp)=>true

三、Object.prototype.toString.call  检测 

使用Object.prototype上的原生toString()方法判断数据类型,使用方法如下:Object.prototype.toString.call(value)

// var arr = '我是字符串' ;   //[object String]
    // var arr = 66 ;        //[object Number]
    // var arr = true ;       //[object Boolean]
    // var arr = ["语文","数学"];  //[object Array]
    // var arr = { name:"john"};  //[object Object]
    // var arr = function Person(){}; //[object Function]
    // var arr = undefined;      //[object Undefined]
    // var arr = null;         //[object Null]
    // var arr = /^\d{5,20}$/;     //[object RegExp]
    // console.log( Object.prototype.toString.call(arr) );

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 轻松搞定快捷留言功能 只需一行代码
Apr 01 Javascript
jquery 使用简明教程
Mar 05 Javascript
15个jquery常用方法、小技巧分享
Jan 13 Javascript
Jquery数字上下滚动动态切换插件
Aug 08 Javascript
node.js+express制作网页计算器
Jan 17 Javascript
微信小程序 navigation API实例详解
Oct 02 Javascript
javascript中的try catch异常捕获机制用法分析
Dec 14 Javascript
详解a++和++a的区别
Aug 30 Javascript
React Native AsyncStorage本地存储工具类
Oct 24 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
Apr 07 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
Sep 19 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
Oct 25 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
Mar 04 #Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
Mar 04 #Javascript
php输出全部gb2312编码内的汉字方法
Mar 04 #Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
Mar 04 #Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
Mar 04 #Javascript
简单实现js菜单栏切换效果
Mar 04 #Javascript
浅谈javascript的url参数parse和build函数
Mar 04 #Javascript
You might like
php分页示例分享
2014/04/30 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
Yii 快速,安全,专业的PHP框架
2014/09/03 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
php批量修改表结构实例
2017/05/24 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
jQuery教程 $()包装函数来实现数组元素分页效果
2013/08/13 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
jQuery接受后台传递的List的实例详解
2017/08/02 jQuery
JavaScript实现的简单加密解密操作示例
2018/06/01 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
Node.js Domain 模块实例详解
2020/03/18 Javascript
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
Python通过解析网页实现看报程序的方法
2014/08/04 Python
Python解析xml中dom元素的方法
2015/03/12 Python
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
Python统计单词出现的次数
2018/04/04 Python
python使用turtle绘制分形树
2018/06/22 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
python设置环境变量的原因和方法
2019/06/24 Python
Python3安装psycopy2以及遇到问题解决方法
2019/07/03 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
美国最大的宠物用品零售商:PetSmart
2016/11/14 全球购物
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
销售团队激励口号
2014/06/06 职场文书
选择比努力更重要?这是长期以来对“努力”的最大误解
2019/07/12 职场文书