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  // true
apple 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"

javascript 判断数据类型的几种方法相关推荐

  1. JavaScript判断数据类型有几种方法,以及它们的区别

    JavaScript有五种数据判断类型方法: typeof instanceof constructor Object.prototype.toString.call()

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

    1.typeof 类型判断 缺点:无法区分null .对象.数组,Map,Set,WeakMap,WeakSet.RegExp等 注意:通过构造函数创建的变量typeof 后是都是object var ...

  3. JS判断数据类型的5种方法

    我们先来了解一下JS中数据类型有哪些 基本数据类型(值类型):String.Number.boolean.null.undefined.symbol(es6新增的) 引用数据类型 (引用类型):obj ...

  4. js 判断数据类型的几种方法

    粗体判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. $.type()/jquery.type(),接下来主要比较一下这几种方法 ...

  5. 判断数据类型的5种方法

    1. typeof 可以判断数据类型,它返回表示数据类型的字符串(返回结果只能包括number,boolean,string,function,object,undefined): 可以使用typeo ...

  6. js 判断数据类型的四种方法

    1,typeof typeof 返回的数据类型有 undefined boolean (true,false) string symbol number function object 注意  typ ...

  7. html数据类型判断,JS中判断数据类型的几种方法

    1⃣️首先我们来了解一下js中的数据类型 1.基本数据类型:Undefined.Null.Boolean.Number.String(值类型) 2.复杂数据类型:Object(引用类型) (值类型和引 ...

  8. JS-循环清空对象 判断数据类型的5种常用方法

    应用场景:一个页面具有大量数据录入功能,在数据录入保存成功之后,需要刷新页面,即清空所有的数据.因为我把所有的字段定义到一个对象中,所以要清空这个对象,如果字段少,可以直接赋值清空,但是数据多的时候, ...

  9. JavaScript判断数据类型的方法

    JavaScript判断数据类型的方法 1 数据类型有哪些? 2 判断JavaScript数据类型的方法 2.1 typeof 2.2 instanceof 2.3 constructor 2.4 t ...

  10. JavaScript 判断数据类型

    JavaScript 判断数据类型 首先JavaScript基本数据类型有:number null undefined string boolean es6以后还新增了bigint和symbol (上 ...

最新文章

  1. [NOIP2015]子串
  2. 一盘棋都没下过,AI只听人类评论比赛,就学会了国际象棋,还战胜了DeepChess...
  3. 操作系统 VS 编程语言 UNIX VS C语言
  4. 001_ECharts入门
  5. 【thymeleaf】转义符:使用转义符拼接输出单引号
  6. jsoncpp-src-0.5.0.tar.gz 源码错误!!!!
  7. css3优惠卷上方锯齿_css3怎么实现锯齿边框?
  8. mysql 天数减1_mysql 日期加减天数
  9. 4 谐波_谐波的基础知识
  10. C++之yaml-cpp开源库的使用笔记
  11. 2020级C语言大作业 - 小球进框
  12. VS2010/VS2012/VS2015下openGL环境配置(转)
  13. 【医学图像分割】 基于matlab GVF算法医学图像分割【含Matlab源码 1213期】
  14. 设计模式分类及UML汇总
  15. delphi实现FTP上传与下载
  16. Go语言开发Windows应用
  17. bat 命令获取当前目录和子目录下的所有文件的文件名
  18. win10 彻底卸载docker
  19. hdu 6194string string string 后缀自动机
  20. 足不出户买遍全球:亚马逊海外购启动史上最长“海外购物节”

热门文章

  1. O(N)求出1~n逆元
  2. 自动把动态的jsp页面(或静态html)生成PDF文档,并且上传至服务器
  3. maven jetty指定端口启动
  4. IDEA Mybatis 找不到映射器xml文件
  5. SQL将本地图片文件插入到数据库
  6. sqlite的Query方法操作和参数详解
  7. smarty 模板不能正常加载css,js的问题
  8. 命令(Command)模式
  9. svn 冲突解决方法
  10. 122 Python程序中的进程池和线程池