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 相关文章推荐
侧栏跟随滚动的简单实现代码
Mar 18 Javascript
JavaScript AJAX之惰性载入函数
Aug 27 Javascript
js计算德州扑克牌面值的方法
Mar 04 Javascript
javascript清空table表格的方法
May 14 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
Nov 06 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
Jun 16 Javascript
微信小程序 教程之引用
Oct 18 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
Dec 14 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
Jan 17 Javascript
微信小程序开发之IOS和Android兼容的问题
Sep 26 Javascript
详解vue几种主动刷新的方法总结
Feb 19 Javascript
基于Node.js搭建hexo博客过程详解
Jun 25 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
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
PHP $_SERVER详解
2009/01/16 PHP
php对大文件进行读取操作的实现代码
2013/01/23 PHP
深入php内核之php in array
2015/11/10 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
laravel5.4生成验证码的实例讲解
2017/08/05 PHP
PHP goto语句用法实例
2019/08/06 PHP
编写高性能的JavaScript 脚本的加载与执行
2010/04/19 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
基于JS实现导航条flash导航条
2016/06/17 Javascript
jQuery实现的购物车物品数量加减功能代码
2016/11/16 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
使用Nodejs连接mongodb数据库的实现代码
2017/08/21 NodeJs
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
微信小程序动态显示项目倒计时
2019/06/20 Javascript
python求crc32值的方法
2014/10/05 Python
python 禁止函数修改列表的实现方法
2017/08/03 Python
python Flask 装饰器顺序问题解决
2018/08/08 Python
Django数据库连接丢失问题的解决方法
2018/12/29 Python
人工神经网络算法知识点总结
2019/06/11 Python
pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法
2019/06/24 Python
Python 寻找局部最高点的实现
2019/12/05 Python
Python TCPServer 多线程多客户端通信的实现
2019/12/31 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
竞选演讲稿范文
2013/12/28 职场文书
晚会邀请函范文
2014/01/24 职场文书
酒店销售经理岗位职责
2014/01/31 职场文书
李开复演讲稿
2014/05/24 职场文书
民事诉讼代理委托书
2014/10/08 职场文书
入党函调证明材料
2015/06/19 职场文书
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python