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 DOM操作小结与实例
Jan 07 Javascript
Javascript 加载和执行-性能提高篇
Dec 28 Javascript
javascript基础语法学习笔记
Jan 04 Javascript
JS图片等比例缩放方法完整示例
Aug 03 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
Aug 11 Javascript
Vue.js每天必学之内部响应式原理探究
Sep 07 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
Sep 14 Javascript
Vue路由跳转问题记录详解
Jun 15 Javascript
IntersectionObserver实现图片懒加载的示例
Sep 29 Javascript
vue组件之间的数据传递方法详解
Apr 19 Javascript
ES6字符串的扩展实例
Dec 21 Javascript
如何在现代JavaScript中编写异步任务
Jan 31 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
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
PHP中让curl支持sock5的代码实例
2015/01/21 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
Django 标签筛选的实现代码(一对多、多对多)
2018/09/05 PHP
JS模拟多线程
2007/02/07 Javascript
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
javascript常见操作汇总
2014/09/03 Javascript
浅析javascript中函数声明和函数表达式的区别
2015/02/15 Javascript
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
认识less和webstrom的less配置方法
2017/08/02 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
使用React-Router实现前端路由鉴权的示例代码
2020/07/26 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
pandas将numpy数组写入到csv的实例
2018/07/04 Python
详解用python自制微信机器人,定时发送天气预报
2019/03/25 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
python selenium 获取接口数据的实现
2020/12/07 Python
python实现计算图形面积
2021/02/22 Python
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
如何进行Linux分区优化
2016/09/13 面试题
人事部主管岗位职责
2013/12/26 职场文书
图书室管理制度
2014/01/19 职场文书
硕士研究生求职自荐信范文
2014/03/11 职场文书
大专生找工作自荐书
2014/06/10 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
上下班时间调整通知
2015/04/23 职场文书
你知道Java Spring的两种事务吗
2022/03/16 Java/Android