IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 面试官:说下判断数组的方法 -> 正文阅读

[JavaScript知识库]面试官:说下判断数组的方法

在JS中,数组是是Object引用类型,所以说typeof运算符不可以用来判断数组

typeof运算符会把对象、数组或null返回object。却不能细分出是什么类型的数组...

typeof运算符只能判断原始数据类型哦

咳咳..废话少说,正文来啦!

1. instanceof操作符

使用方法:arr instanceof Array

instanceof是用来判断某个实例是否属于某个对象的原型链上

let arr = [];
console.log(arr instanceof Array); // true
缺点 :使用 instanceof 的问题是假定只有一个全局执行上下文。如果网页里有多个框架,则可能涉及两 个不同的全局执行上下文,因此就会有两个不同版本的 Array 构造函数。如果要把数组从一个框架传 给另一个框架,则这个数组的构造函数将有别于在第二个框架内本地创建的数组。
嗯... 别急! 看咱们第二位选手

?

2.Array.isArray方法
使用方法:Array.isArray(arr)
确定一个值是否为数组,而不用管它是在哪个全局执行上下文中创建的。(perfect!)
如果参数(这里指arr)是个对象并且 class 内部属性是 "Array", 则返回布尔值 true
let arr = [];
console.log(Array.isArray(arr)); // true

解决了耶!...刺激嘛

3.Array.prototype.isPrototypeOf方法

使用方法:Array.prototype.isPrototypeOf(arr)

Array.prototype ?属性表示 Array 构造函数的原型
isPrototypeOf() 用于测试一个对象是否存在于另一个对象的原型链上。

let arr = [];
console.log(Array.prototype.isPrototypeOf(arr)); // true

也不赖哦...

铛铛铛~拉开你和别人差距的方法来了!(温馨提示:可以拿来炫技,你懂吧

4.对象构造函数的 constructor判断

使用方法:arr.constructor === Array

因为Object的每个实例都有构造函数 constructor,用于保存着用于创建当前对象的函数

let arr = [];
console.log(arr.constructor === Array); // true

5.Object.prototype.toString

使用方法:Object.prototype.toString.call(arr) === '[object Array]')

虽然Array也继承自Object,但js在Array.prototype上重写了toString,而我们通过toString.call(arr)实际上是通过原型链调用了。

let arr = [];
console.log(Object.prototype.toString.call(arr) === '[object Array]'); // true

头一次发表文章,如有不足多多指教!因为听说有个博客在面试很加分,就想来试试看

也是为了复习时可以回头看看~? 最后就祝读者们学好吃好玩好啥都好哈

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 09:48:55  更:2021-11-27 09:49:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 0:17:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码