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中Ajax 缓存带来的影响的解决方法
May 19 Javascript
js判断选择的时间是否大于今天的代码
Aug 20 Javascript
javascript模块化是什么及其优缺点介绍
Sep 02 Javascript
window.onload追加函数使用示例
Mar 03 Javascript
js实现select组件的选择输入过滤代码
Oct 14 Javascript
node.js中使用socket.io的方法
Dec 15 Javascript
jQuery EasyUI Pagination实现分页的常用方法
May 21 Javascript
javascript实现简易计算器
Feb 01 Javascript
javascript数据结构之串的概念与用法分析
Apr 12 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
Nov 26 Javascript
基于vue-cli3创建libs库的实现方法
Dec 04 Javascript
基于JavaScript实现留言板功能
Mar 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不用内置函数对数组排序的两个算法代码
2010/02/08 PHP
PHP中几种常见的超时处理全面总结
2012/09/11 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
多广告投放代码 推荐
2006/11/13 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
对TypeScript库进行单元测试的方法
2019/07/18 Javascript
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
Python实现的监测服务器硬盘使用率脚本分享
2014/11/07 Python
python实现ipsec开权限实例
2014/11/11 Python
Django发送html邮件的方法
2015/05/26 Python
详解Python字符串对象的实现
2015/12/24 Python
Python单元测试实例详解
2018/05/25 Python
selenium3+python3环境搭建教程图解
2018/12/07 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
Python中生成ndarray实例讲解
2021/02/22 Python
CSS3实现王者荣耀匹配人员加载页面的方法
2019/04/16 HTML / CSS
蛋白质世界:Protein World
2017/11/23 全球购物
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
介绍下Java中==和equals的区别
2013/09/01 面试题
优秀毕业大学生推荐信
2013/11/13 职场文书
计算机专业推荐信范文
2013/11/20 职场文书
人事专员职责
2014/02/22 职场文书
2015年医院工作总结范文
2015/04/09 职场文书
单位证明范文
2015/06/18 职场文书
《角的度量》教学反思
2016/02/18 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
导游词之秦皇岛燕塞湖
2020/01/03 职场文书