在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 火狐(firefox)不显示本地图片问题解决
Jul 05 Javascript
js操作select控件的几种方法
Jun 02 Javascript
Array.prototype.slice 使用扩展
Jun 09 Javascript
js如何获取file控件的完整路径具体实现代码
May 15 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
Sep 30 Javascript
深入剖析JavaScript:Object类型
May 10 Javascript
Vue.js 中的 $watch使用方法
May 25 Javascript
深入研究React中setState源码
Nov 17 Javascript
vue init失败简单解决方法(终极版)
Dec 22 Javascript
Angular4学习之Angular CLI的安装与使用教程
Jan 04 Javascript
微信小程序实现定位及到指定位置导航的示例代码
Aug 20 Javascript
layui 弹出层回调获取弹出层数据的例子
Sep 02 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 MemCached高级缓存配置图文教程
2010/08/05 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
Javascript实例教程(19) 使用HoTMetal(5)
2006/12/23 Javascript
javascript Array.sort() 跨浏览器下需要考虑的问题
2009/12/07 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
ie7+背景透明文字不透明超级简单的实现方法
2014/01/17 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
2016/05/12 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
angular4笔记系列之内置指令小结
2018/11/09 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
Node绑定全局TraceID的实现方法
2019/11/14 Javascript
在Python的Django框架中用流响应生成CSV文件的教程
2015/05/02 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
Python3操作YAML文件格式方法解析
2020/04/10 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
matplotlib图例legend语法及设置的方法
2020/07/28 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
Html5之自定义属性(data-,dataset)
2019/11/19 HTML / CSS
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
几个Linux面试题笔试题
2012/12/01 面试题
会计自荐书
2013/12/02 职场文书
给老师的道歉信
2014/01/11 职场文书
留学推荐信写作指南
2014/01/25 职场文书
大学英语专业求职信
2014/06/21 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
建筑工程催款函
2015/06/24 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP