JS中判断数据类型的方法

使用typeof操作符。
对一个值使用 typeof 操作符可能返回下列某个字符串,返回的类型都是字符串形式。

(1) undefined:如果这个值未定义

(2) boolean:如果这个值是布尔值

(3) string:如果这个值是字符串

(4) number:如果这个值是数值

(5) object:如果这个值是对象或null

(6) function:如果这个值是函数

需要注意:typeof不适合用于判断是否为数组。当使用typeof判断数组和对象的时候,都会返回object。
可以使用isArray()来判断是否为数组。

instanceof
  instanceof 运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上。需要区分大小写。
简单的来说,instanceof 用于判断一个变量是否某个对象的实例。

例:var arr = new Array( );

alert(arr instanceof Array); // 返回true

需要注意的是,instanceof只能用来判断对象和函数,不能用来判断字符串和数字等。判断它是否为字符串和数字时,只会返回false。

constructor
  constructor 属性返回对创建此对象的数组函数的引用。
在JavaScript中,每个具有原型的对象都会自动获得constructor属性。

例:

以下代码中的[native code],表示这是JavaScript的底层内部代码实现,无法显示代码细节。

// String
var str = “字符串”;
alert(str.constructor); // function String() { [native code] }
alert(str.constructor === String); // true

// Array
var arr = [1, 2, 3];
alert(arr.constructor); // function Array() { [native code] }
alert(arr.constructor === Array); // true

// Number
var num = 5;
alert(num.constructor); // function Number() { [native code] }
alert(num.constructor === Number); // true

prototype
  以上三种方法多少都会有一些不能判断的情况。为了保证兼容性,可以通过Object.prototype.toString方法,判断某个对象值属于哪种内置类型。
需要注意区分大小写。

alert(Object.prototype.toString.call(“字符串”) === ‘[object String]’) -------> true;
alert(Object.prototype.toString.call(123) === ‘[object Number]’) -------> true;
alert(Object.prototype.toString.call([1,2,3]) === ‘[object Array]’) -------> true;
alert(Object.prototype.toString.call(new Date()) === ‘[object Date]’) -------> true;
alert(Object.prototype.toString.call(function a(){}) === ‘[object Function]’) -------> true;
alert(Object.prototype.toString.call({}) === ‘[object Object]’) -------> true;

js中判断数据类型的方法相关推荐

  1. 判断js中的数据类型的方法

    在 判断js中的数据类型 我们通常会使用typeOf()方法,        typeof   2         输出   number       typeof   null       输出   ...

  2. js中判断数据类型的几种实用方法

    前言 最近项目中有不少地方需要判断数据类型,但是判断数据类型也有好几种方法,并且每种方法判断的数据类型也有局限性,所以想总结一下,方便以后查阅. 分别是 typeof ,instanceof,Obje ...

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

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

  4. javaScript中判断数据类型的方法

    目录 一.javaScript数据类型 二.javaScript判断数据类型的方法 1.使用typeof 2.使用instanceof 3.使用Object.prototype.toString.ca ...

  5. JS中判断NaN的方法

    var tmp = 0/0;     if (isNaN(tmp)){     alert( "NaN" ); }

  6. 分享一波很全的 JS 判断数据类型的方法

    分享一波很全的 JS 判断数据类型的方法 干货满满,很常用也很有用的一波方法整理,分享给需要的小伙伴们. 偷偷说一句,小肉包之前整理的没有这么简洁和全面,后面小肉包的男朋友又帮忙加工润色了一下,现在看 ...

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

    文章目录 1.javascript 中的数据类型 2.`typeof` 返回 变量的数据类型 3.`instanceof ` :复杂数据类型的判断 3.1.instanceof 原理分析(初学者跳过) ...

  8. js 数据类型_js中检测数据类型的方法汇总

    回顾一下js中数据类型分为两大类,基础类型和引用数据类型,主要有: 基本数据类型 Number String Boolean Null Undefined Symbol 复杂数据类型 Array Fu ...

  9. [转载]如何判断js中的数据类型

    原文地址:如何判断js中的数据类型作者:最初的你 如何判断js中的数据类型:typeof.instanceof. constructor. prototype方法比较 如何判断js中的类型呢,先举几个 ...

最新文章

  1. ArrayList和Vector有什么区别?
  2. 不明白JVM虚拟机还怎么面试
  3. 静态页面访问缓慢的问题
  4. 【Python】url基础:网络爬虫技术
  5. python 惰性序列_讨论 - 廖雪峰的官方网站
  6. C#创建https请求并使用pfx证书
  7. ckeditor5加字数_ckeditor字数限制
  8. redis集群扩容和缩容_深入理解Redis Cluster集群
  9. mybatis-generator 逆向生成工具(实体、dao、sql)
  10. sizeof string
  11. 移动应用广告盈利-KeyMob移动广告聚合平台
  12. 无人机未来有一大波创富平台
  13. 生活中计算机自动控制原理的应用,《自动控制原理》虚拟实验系统在教学中的应用...
  14. numpy读取txt文件
  15. 飞行控制系统中高度的表示
  16. LA 4487 Exclusive-OR
  17. GitHub上AI岗位面试笔记(机器学习算法/深度学习/ NLP/计算机视觉)
  18. 卡方检验x2检验(chi-square test)
  19. 作文总结思维导图怎么画?分享作文类型总结思维导图模板
  20. 数据库 —— mycat 代理

热门文章

  1. python- ASCII字符串转为16进制格式
  2. 灵雀云ACP成功通过金融信创生态实验室适配验证
  3. 哈希表的概念(散列表)
  4. HBuilderXHBuilder连接雷电模拟器
  5. 一个简单又诡异的互联网变现思维(抖音赚钱)
  6. 区块链钱包开发(Android篇)
  7. win7 安装SQL Server2008R2 提示文件格式错误的处理
  8. TCP四次挥手及原因
  9. windows命令行工具
  10. 物流服务--查询物流