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 面向对象编程(2) 定义类
May 18 Javascript
JavaScript版TAB选项卡效果实例
Aug 16 Javascript
js正则表达式注册页面表单验证
Oct 11 Javascript
JS+DIV实现的卷帘效果示例
Mar 22 Javascript
微信小程序 页面跳转事件绑定的实例详解
Sep 20 Javascript
js实现Tab选项卡切换效果
Jul 17 Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
Sep 30 Javascript
灵活使用console让js调试更简单的方法步骤
Apr 23 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
Feb 28 Javascript
单线程JavaScript实现异步过程详解
May 19 Javascript
浅谈React中组件逻辑复用的那些事儿
May 21 Javascript
vue中element 的upload组件发送请求给后端操作
Sep 07 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乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
2014/06/12 PHP
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
lnmp安装多版本PHP共存的方法详解
2018/08/02 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
2016/01/15 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
jQuery实现手机自定义弹出输入框
2016/06/13 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
Vuex和前端缓存的整合策略详解
2017/05/09 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
详解如何运行vue项目
2019/04/15 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
python通过urllib2爬网页上种子下载示例
2014/02/24 Python
python虚拟环境virtualenv的使用教程
2017/10/20 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
Python logging设置和logger解析
2019/08/28 Python
python 批量修改 labelImg 生成的xml文件的方法
2019/09/09 Python
python3 常见解密加密算法实例分析【base64、MD5等】
2019/12/19 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
numba提升python运行速度的实例方法
2021/01/25 Python
英国最大的在线奢侈手表零售商:Jura Watches
2018/01/29 全球购物
医学院四年学习生活的自我评价
2013/11/06 职场文书
党员自我评议个人对照检查材料
2014/09/16 职场文书
关于随地扔垃圾的检讨书
2014/09/30 职场文书
六查六看六改心得体会
2014/10/14 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python