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 相关文章推荐
javascript 常用方法总结
Jun 03 Javascript
javascript sudoku 数独智力游戏生成代码
Mar 27 Javascript
js前台判断开始时间是否小于结束时间
Feb 23 Javascript
用js的for循环获取radio选中的值
Oct 21 Javascript
js阻止冒泡和默认事件(默认行为)详解
Oct 20 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
Feb 28 Javascript
浅析Node.js非对称加密方法
Jan 29 Javascript
jQuery.validate.js表单验证插件的使用代码详解
Oct 22 jQuery
angular异步验证防抖踩坑实录
Dec 01 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
Dec 16 Javascript
原生JS实现记忆翻牌游戏
Jul 31 Javascript
CocosCreator入门教程之网络通信
Apr 16 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 zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
使用PHP生成PDF方法详解
2015/01/23 PHP
php使用parse_str实现查询字符串解析到变量中的方法
2017/02/17 PHP
云网广告中的代码,提示出错,大家找找
2006/11/21 Javascript
Prototype Selector对象学习
2009/07/23 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
js获取隐藏元素宽高的实现方法
2016/05/19 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
如何制作幻灯片(代码分享)
2017/01/06 Javascript
vue router2.0二级路由的简单使用
2017/07/05 Javascript
jQuery插件DataTables分页开发心得体会
2017/08/22 jQuery
javascript帧动画(实例讲解)
2017/09/02 Javascript
vue项目中全局引入1个.scss文件的问题解决
2019/08/01 Javascript
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
python web框架 django wsgi原理解析
2019/08/20 Python
Numpy的简单用法小结
2019/08/28 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
Python批量安装卸载1000个apk的方法
2020/04/10 Python
opencv 阈值分割的具体使用
2020/07/08 Python
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
Levi’s西班牙官方网站:李维斯,著名的牛仔裤品牌
2020/08/20 全球购物
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
2014/09/09 面试题
Exception类的常用方法
2012/06/16 面试题
安全生产中长期规划实施方案
2014/02/21 职场文书
开学典礼演讲稿
2014/05/23 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
党支部2014年度工作总结
2014/12/04 职场文书
同事去世追悼词
2015/06/23 职场文书
学生会副主席竞选稿
2015/11/19 职场文书