博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript 判断数据类型的几种方法
阅读量:7125 次
发布时间:2019-06-28

本文共 1492 字,大约阅读时间需要 4 分钟。

javascript 判断数据类型的几种方法

一、typeof 直接返回数据类型字段,但是无法判断数组、null、对象

typeof 1"number"typeof NaN"number"typeof "1""string"typeof true"boolean"typeof undefined"undefined"typeof null"object"typeof []"object"typeof {}"object"

其中 null, [], {}都返回 "object"

二、instanceof 判断某个实例是不是属于原型

// 构造函数function Fruit(name, color) {    this.name = name;    this.color = color;}var apple = new Fruit("apple", "red");// (apple != null)apple instanceof Object  // trueapple instanceof Array   // false

三、使用 Object.prototype.toString.call()判断

call()方法可以改变this的指向,那么把Object.prototype.toString()方法指向不同的数据类型上面,返回不同的结果

Object.prototype.toString.call(1)"[object Number]"Object.prototype.toString.call(NaN);"[object Number]"Object.prototype.toString.call("1");"[object String]"Object.prototype.toString.call(true)"[object Boolean]"Object.prototype.toString.call(null)"[object Null]"Object.prototype.toString.call(undefined)"[object Undefined]"Object.prototype.toString.call(function a() {});"[object Function]"Object.prototype.toString.call([]);"[object Array]"Object.prototype.toString.call({});"[object Object]"

最后我们可以定义一个完美的判断数据类型的方法 _typeof()

function _typeof(obj){  var s = Object.prototype.toString.call(obj);  return s.match(/\[object (.*?)\]/)[1].toLowerCase();};_typeof([12,3,343]);"array"_typeof({name: 'zxc', age: 18});"object"_typeof(1);"number"_typeof("1");"string" _typeof(null);"null"_typeof(undefined);"undefined"_typeof(NaN);"number"_typeof(Date);"function"_typeof(new Date());"date"_typeof(new RegExp());"regexp"

转载地址:http://eieel.baihongyu.com/

你可能感兴趣的文章
学习python的第二天
查看>>
深入详解SQL中的Null
查看>>
c#国际化
查看>>
java代码Calendar类
查看>>
java多线程实现礼花绽放的效果,
查看>>
算法提高 道路和航路 SPFA 算法
查看>>
POJ2449 第K短路
查看>>
【最小割】【网络流24题】【P2762】 太空飞行计划问题
查看>>
Mysql触发器示例
查看>>
解决Asp.net中的Chart控件运行出现错误提示“ ChartImg.axd 执行子请求时出错”
查看>>
PHPExcel类导出xlsx文件 提示格式不兼容 低版本excel软件打不开 解决方案
查看>>
Android开发规范
查看>>
心已落定,入驻博客园
查看>>
paper 84:机器学习算法--随机森林
查看>>
Python自动化运维之26、Web框架本质、MVC与MTV
查看>>
样式表的样式
查看>>
雨燕框架启动流程
查看>>
spring,mapper的参数
查看>>
Java通过NIO实现快速文件拷贝的代码
查看>>
怎么样启用红米手机5的ROOT权限
查看>>