JS array数组检测方式解析


Posted in Javascript onMay 19, 2020

typeof

var arr = [1,2,3];
console.log(typeof arr);//'object'

数组的本质是一种特殊的对象,所以返回'object'。typeof运算符只能用来区分原始类型和对象类型,所以无法具体的检测出Array

instanceof

var arr = [1,2,3];
console.log(arr instanceof Array);//true

如果存在不同的全局环境,就会存在不同版本的Array构造函数,如果从一个框架向另一个框架传入一个数组,那么传入的数组与在第二个框架中原生创建的数组分别具有各自不同的构造函数,这时候使用instanceof检测就不准确了

toString

通过引用Object的toString()方法来检查对象的类属性,对数组而言该属性的值总是"Array"

function type(obj){
  return Object.prototype.toString.call(obj).slice(8,-1).toLowerCase();
}
console.log(type(arr));//'array'

isArray

ECMAScript5新增了Array.isArray()方法

console.log(Array.isArray([]));//true

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
Aug 13 Javascript
JavaScrip常见的一些算法总结
Dec 28 Javascript
Bootstrap学习笔记之js组件(4)
Jun 12 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
Sep 20 Javascript
解决ie img标签内存泄漏的问题
Oct 13 Javascript
解决Jquery下拉框数据动态获取的问题
Jan 25 jQuery
解决vue-cli创建项目的loader问题
Mar 13 Javascript
dts文件中删除一个node或属性的操作方法
Aug 05 Javascript
微信小程序登录态和检验注册过没的app.js写法
May 22 Javascript
vue 获取及修改store.js里的公共变量实例
Nov 06 Javascript
JS数组方法reverse()用法实例分析
Jan 18 Javascript
微信小程序抽奖组件的使用步骤
Jan 11 Javascript
基于JS实现table导出Excel并保留样式
May 19 #Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
May 19 #Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 #jQuery
JS加载解析Markdown文档过程详解
May 19 #Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
May 19 #Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
May 19 #jQuery
jQuery AJAX应用实例总结
May 19 #jQuery
You might like
php中iconv函数使用方法
2008/05/24 PHP
用php制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
PHP中Session引起的脚本阻塞问题解决办法
2014/04/08 PHP
google地图的路线实现代码
2009/08/20 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
javascript最基本的函数汇总
2015/06/25 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
VUE重点问题总结
2018/03/19 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
Python切片操作实例分析
2018/03/16 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
python手写均值滤波
2020/02/19 Python
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
Viking比利时:购买办公用品
2019/10/30 全球购物
《愚公移山》教学反思
2014/02/20 职场文书
函授生自我鉴定
2014/03/25 职场文书
爱与责任演讲稿
2014/05/20 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
通知范文怎么写
2015/04/16 职场文书
企业安全生产检查制度
2015/08/06 职场文书
创业计划书之面包店
2019/09/17 职场文书
Mysql开启外网访问
2022/05/15 MySQL