在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插件 selectToSelect使用方法
Oct 02 Javascript
可以用鼠标拖动的DIV实现思路及代码
Oct 21 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
Feb 13 Javascript
简介JavaScript中的italics()方法的使用
Jun 08 Javascript
纯js实现手风琴效果代码
Apr 17 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
Oct 24 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
Dec 29 Javascript
BootStrap实现文件上传并带有进度条效果
Sep 11 Javascript
Webpack 服务器端代码打包的示例代码
Sep 19 Javascript
react-native 圆弧拖动进度条实现的示例代码
Apr 12 Javascript
js实现3D旋转相册
Aug 02 Javascript
vue 使用饿了么UI仿写teambition的筛选功能
Mar 01 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获取和操作配置文件php.ini的几个函数介绍
2013/06/24 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
smarty获得当前url的方法分享
2014/02/14 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
2014/07/01 PHP
PHP中trim()函数简单使用指南
2015/04/16 PHP
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
Node.js 制作实时多人游戏框架
2015/01/08 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
深入浅出 jQuery中的事件机制
2016/08/23 Javascript
js实现表单提交后不重新刷新当前页面
2016/11/30 Javascript
JS中Attr的用法详解
2017/10/09 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
js实现鼠标滑动到某个div禁止滚动
2020/09/17 Javascript
vue v-model的用法解析
2020/10/19 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
2020/10/22 Javascript
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
Python中flatten( )函数及函数用法详解
2018/11/02 Python
Python os模块常用方法和属性总结
2020/02/20 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
python相对企业语言优势在哪
2020/06/12 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
不可轻视HTML5!App三年内将被html5顶替彻底消失
2015/11/18 HTML / CSS
简历中个人求职的自我评价模板
2013/11/29 职场文书
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
小学教师培训方案
2014/06/09 职场文书
承诺书模板
2014/08/30 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
2014教育局对照检查材料思想汇报
2014/09/23 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
基于Go语言构建RESTful API服务
2021/07/25 Golang
5种方法告诉你如何使JavaScript 代码库更干净
2021/09/15 Javascript