在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 相关文章推荐
jquery事件机制扩展插件 jquery鼠标右键事件
Dec 21 Javascript
详解JavaScript中的blink()方法的使用
Jun 08 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
Apr 29 Javascript
JQuery异步加载PartialView的方法
Jun 07 Javascript
用AngularJS的指令实现tabs切换效果
Aug 31 Javascript
微信小程序 登录实例详解
Jan 16 Javascript
react 父组件与子组件之间的值传递的方法
Sep 14 Javascript
JS 数组随机洗牌的实例代码
Sep 12 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
May 23 jQuery
layui实现根据table数据判断按钮显示情况的方法
Sep 26 Javascript
jQuery实现放大镜案例
Oct 19 jQuery
详解Vue2的diff算法
Jan 06 Vue.js
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 配置文件中open_basedir选项作用
2009/07/19 PHP
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
2017/03/16 PHP
javascript编程起步(第一课)
2007/01/10 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
2013/08/23 Javascript
jquery果冻抖动效果实现方法
2015/01/15 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
老生常谈jacascript DOM节点获取
2017/04/17 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
2019/10/29 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
浅谈vue在html中出现{{}}的原因及解决方式
2020/11/16 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
Python二分法搜索算法实例分析
2015/05/11 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
django框架model orM使用字典作为参数,保存数据的方法分析
2019/06/24 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
python global和nonlocal用法解析
2020/02/03 Python
python 提高开发效率的5个小技巧
2020/10/19 Python
Clearly新西兰:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
小学教师读书笔记
2015/07/01 职场文书
《鲸》教学反思
2016/02/23 职场文书