一、通过原型链判断

__ proto __

实例的__ proto__属性指向其构造函数的原型对象

const arr = [1,2,3]
console.log(arr.__proto__ === Array.prototype)  // true

constructor

实例的constructor属性指向构造函数本身

const arr = [1,2,3]
console.log(arr.constructor === Array)  // true

instanceOf

instanceof可以判断Array是否是实例的构造函数(在原型链上即可)

console.log(arr instanceof Array) // true

isPrototypeOf()

判断Array的原型对象是否为在某个对象的原型链上

const arr = [1,2,3]
console.log(Array.prototype.isPrototypeOf(arr) )  // true

二、通过Object原型上的方法判断

Array.isArray()

es6中用于判断数组类型的方法

const arr = [1,2,3]
console.log(Array.isArray(arr))/ true

Object.prototype.toString

Object原型对象上的方法,被所有对象继承,返回'[Object type]'字符串

const arr = [1,2,3]
const str = '123'
const fn = function(){}
const obj = {}
console.log(Object.prototype.toString.call(arr))  // [object Array]
console.log(Object.prototype.toString.call(str))  // [object String]
console.log(Object.prototype.toString.call(fn))  // [object String]
console.log(Object.prototype.toString.call(obj))  // [object String]

JavaScript判断数组的几种方法相关推荐

  1. 如何判断数组的四种方法

    日常中我们会用typeOf运算符去判断数据的类型,结果如下 其中对于对象和数组用typeof方法得到的结果都是object,这是因为在JavaScript中所有数据类型严格意义上都是对象,对象是对象, ...

  2. javascript中数组的22种方法

    前面的话数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详细 ...

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

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

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

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

  5. JavaScript清空数组的三种方法

    1.用"length"清除 用length方法可以很轻松地清空数组,代码示例: var arr = [1,2,3]; console.log(arr); arr.length = ...

  6. JavaScript清空数组的三种方法及效率分析

    方式1,splice 复制代码代码如下: var ary = [1,2,3,4];  ary.splice(0,ary.length);  console.log(ary); // 输出 [],空数组 ...

  7. JavaScript清空数组的3种方法

    0x0. splice Array.prototype.splice()是通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容. var arr = [1,2,3] ar ...

  8. 知识点2:js(javascript)中检测是否为数组的两种方法【翻转数组案例】

    javascript基础知识 文章目录 javascript基础知识 前言 一.翻转数组案例 二.检测数组的两种方法 1.如果传输的参数不是数组 2.instanceof 运算符 可以用来检测是否满足 ...

  9. JavaScript 中清空数组的几种方法

    目录 Array.prototype.splice() 将 length 设置为 0 分配新的空数组 length = 0和 Array = [] 之间的差异? JavaScript 中清空数组的几种 ...

  10. javascript中如何创建数组-与创建数组的几种方法

    javascript中数组的创建方式有3种,我只学了3种,还有没有其他方法我也不知道哈.... 下面我们来看看 js中创建数组的其中一种方法. //先写一种最常规的的创建JS数组的方法 var arr ...

最新文章

  1. C# switch嵌套语法
  2. 腾讯下载的视频转换为MP4
  3. 中运算符百分号作用_SQL基础知识——LIKE运算符
  4. 如果在我爸的朋友圈当杠精,会挨揍吗?
  5. c语言ok未定义标识符,C语言中宏的相关知识 - osc_y7ckpzr9的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. javascript中对变量类型的推断
  7. 前端学习(1745):前端调试值之查看元素最终样式
  8. android内存及内存溢出分析
  9. tcp报文解析工具_15 张图,了解一下 TCP/IP 必知也必会的 10个要点
  10. 盘点劳务公司和中介所的那些黑心套路
  11. 开源的全面胜利背后,那些被遗忘的人性问题
  12. Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作
  13. 【CVRP】基于matlab遗传算法求解带容量的车辆路径规划问题【含Matlab源码 1280期】
  14. 明解C语言。初级版 部分练习代码
  15. 计算机辅助制造camppt,CADCAM课件计算机辅助制造 (2).ppt
  16. 计算机网络中网关、路由器、网桥、交换机概念详解
  17. 背景图页面缩小会变形_CSS背景图拉伸不变形
  18. 企业级大数据项目【1】需求分析及概要设计篇
  19. Linux基本指令之网络通信命令
  20. 诺基亚 android,诺基亚当年为什么走向没落也没用安卓系统?

热门文章

  1. imdisk命令行使用及配置
  2. 灰度发布--Spring Cloud Gray
  3. ffmpeg将常见视频格式转换为mp4
  4. 08python 主函数调用子函数
  5. 云南昆明企业等保合规安全解决方案、等保二级、等保三级解决方案
  6. oracle临时表空间自动清理,Oracle 临时表空间满的清理
  7. oracle扩容temp表空间,解决oracle临时表空间的报错
  8. 通信技术以及5G和AI保障电网安全与网络安全
  9. 移动端后台管理系统框架
  10. 疲劳检测(一)Landmark + HeadPose