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 相关文章推荐
显示、隐藏密码
Jul 01 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
Nov 03 Javascript
使用GruntJS构建Web程序之构建篇
Jun 04 Javascript
js脚本实现数据去重
Nov 27 Javascript
javascript原型链继承用法实例分析
Jan 28 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
Apr 14 Javascript
jQuery实现页面顶部下拉广告
Dec 30 Javascript
jQuery滚动插件scrollable.js用法分析
May 25 jQuery
深入浅析Vue中的 computed 和 watch
Jun 06 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
Apr 04 jQuery
原生JavaScript实现拖动校验功能
Sep 29 Javascript
vue项目proxyTable配置和部署服务器
Apr 14 Vue.js
基于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中strtotime函数使用方法分享
2012/01/10 PHP
php实现单链表的实例代码
2013/03/22 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
2014/10/30 PHP
浅析php工厂模式
2014/11/25 PHP
PHP实现获取FLV文件的时间
2015/02/10 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
js调用webservice构造SOAP进行身份验证
2016/04/27 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
详解React native全局变量的使用(跨组件的通信)
2017/09/07 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
python 中文乱码问题深入分析
2011/03/13 Python
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
pytorch 模型可视化的例子
2019/08/17 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
Python中six模块基础用法
2019/12/08 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
英国最大的体育&时尚零售公司:JD Sports
2017/12/13 全球购物
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
村主任群众路线个人对照检查材料
2014/09/26 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
如何制定销售人员薪酬制度?
2019/07/09 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS