在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取消文本选定的实现代码
Nov 14 Javascript
JS特权方法定义作用以及与公有方法的区别
Mar 18 Javascript
js 上下左右键控制焦点(示例代码)
Dec 14 Javascript
微信小程序 向左滑动删除功能的实现
Mar 10 Javascript
一步步教你利用Canvas对图片进行处理
Sep 19 Javascript
JavaScript编程设计模式之构造器模式实例分析
Oct 25 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
Jan 18 Javascript
详解Node 定时器
Feb 26 Javascript
在vue中封装可复用的组件方法
Mar 01 Javascript
js微信分享接口调用详解
Jul 23 Javascript
详解微信小程序开发之formId使用(模板消息)
Aug 27 Javascript
js实现简单扫雷
Nov 27 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 radio 单选框获取与保持值的实现代码
2010/05/15 PHP
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
php中smarty模板条件判断用法实例
2015/06/11 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
百度留言本js 大家可以参考下
2009/10/13 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
js获得页面的高度和宽度的方法
2014/02/23 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
VUE实现表单元素双向绑定(总结)
2017/08/08 Javascript
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
python抓取网页中的图片示例
2014/02/28 Python
python实现下载指定网址所有图片的方法
2015/08/08 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
Python3模拟curl发送post请求操作示例
2019/05/03 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
python3 配置logging日志类的操作
2020/04/08 Python
html5 canvas-2.用canvas制作一个猜字母的小游戏
2013/01/07 HTML / CSS
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
会计系个人求职信范文分享
2013/12/20 职场文书
海飞丝的广告词
2014/03/20 职场文书
运动员口号
2014/06/09 职场文书
法人代表证明书格式
2014/10/01 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python