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快速上手:写jQuery与直接写JS的区别详细解析
Aug 26 Javascript
关于jquery中全局函数each使用介绍
Dec 10 Javascript
javascript动态判断html元素并执行不同的操作
Jun 16 Javascript
Javascript动态创建表格及删除行列的方法
May 15 Javascript
jQuery的end()方法使用详解
Jul 15 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
Apr 06 Javascript
JSON字符串和对象相互转换实例分析
Jun 16 Javascript
AngularJS变量及过滤器Filter用法分析
Nov 22 Javascript
JS解析url查询参数的简单代码
Aug 06 Javascript
AngularJS select加载数据选中默认值的方法
Feb 28 Javascript
JavaScript生成指定范围的时间列表
Mar 19 Javascript
Express 配置HTML页面访问的实现
Nov 01 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 array_slice函数的使用以及参数详解
2008/08/30 PHP
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
JavaScript实现点击按钮后变灰避免多次重复提交
2013/07/15 Javascript
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
JS实现从连接中获取youtube的key实例
2015/07/02 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
jquery判断类型是不是number类型的实例代码
2016/10/07 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
2017/07/05 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
Vue下路由History模式打包后页面空白的解决方法
2018/06/29 Javascript
JavaScript实现表单注册、表单验证、运算符功能
2018/10/15 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
vue 对axios get pust put delete封装的实例代码
2020/01/05 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
在Python程序中操作MySQL的基本方法
2015/07/29 Python
有趣的python小程序分享
2017/12/05 Python
python实现基于SVM手写数字识别功能
2020/05/27 Python
Python统计单词出现的次数
2018/04/04 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
python3+PyQt5实现拖放功能
2018/04/24 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
2020/02/25 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
华为C++笔试题
2014/08/05 面试题
《月光启蒙》教学反思
2014/03/01 职场文书
风险评估实施方案
2014/03/09 职场文书
食品安全工作方案
2014/05/07 职场文书
营销总监岗位职责
2014/09/16 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书