在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 相关文章推荐
document.documentElement && document.documentElement.scrollTop
Dec 01 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
Jan 09 Javascript
2014最热门的JavaScript代码高亮插件推荐
Nov 25 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
Mar 24 Javascript
js控制多图左右滚动切换效果代码分享
Aug 26 Javascript
js与applet相互调用的方法
Jun 22 Javascript
jQuery中ScrollTo用法示例
Sep 04 Javascript
Vue中的数据监听和数据交互案例解析
Jul 12 Javascript
vue-resouce设置请求头的三种方法
Sep 12 Javascript
解决koa2 ctx.render is not a function报错问题
Aug 07 Javascript
vue+elementUI动态生成面包屑导航教程
Nov 04 Javascript
详解前端任务构建利器Gulp.js使用指南
Apr 30 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安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
PHP微信支付实例解析
2016/07/22 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
Javascript 复制数组实现代码
2009/11/26 Javascript
JavaScript多线程详解
2015/08/12 Javascript
Underscore源码分析
2015/12/30 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
vue2中的keep-alive使用总结及注意事项
2017/12/21 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
wxpython学习笔记(推荐查看)
2014/06/09 Python
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
用python求一重积分和二重积分的例子
2019/12/06 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
python时间序列数据转为timestamp格式的方法
2020/08/03 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
精选奢华:THE LIST
2019/09/05 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
应届实习生的自我评价范文
2014/01/05 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
民主生活会发言材料
2014/10/20 职场文书
学前班语言教学计划
2015/01/20 职场文书
岳麓书院导游词
2015/02/03 职场文书