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
node.js中的buffer.write方法使用说明
Dec 10 Javascript
原生js和jQuery写的网页选项卡特效对比
Apr 27 Javascript
浅谈JavaScript异常处理语句
Jun 26 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
Mar 29 Javascript
AngularJS实现动态添加Option的方法
May 17 Javascript
深入理解Node.js中通用基础设计模式
Sep 19 Javascript
详解Angularjs 自定义指令中的数据绑定
Jul 19 Javascript
vue.js中proxyTable 转发请求的实现方法
Sep 20 Javascript
js中数组常用方法总结(推荐)
Apr 09 Javascript
通过layer实现可输入的模态框的例子
Sep 27 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
Jul 28 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快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
解析php常用image图像函数集
2013/06/24 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
PHP序列化和反序列化深度剖析实例讲解
2020/12/29 PHP
jquery在项目中做复选框时遇到的一些问题笔记
2013/11/17 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
Jquery attr()方法 属性赋值和属性获取详解
2016/04/15 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
2017/02/27 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
js实现json数组分组合并操作示例
2019/02/12 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
2020/03/20 jQuery
解决Vue watch里调用方法的坑
2020/11/07 Javascript
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
Python简单实现控制电脑的方法
2018/01/22 Python
python 集合 并集、交集 Series list set 转换的实例
2018/05/29 Python
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
《金孔雀轻轻跳》教学反思
2014/04/20 职场文书
公司2014年度工作总结
2014/12/10 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
周末问候语大全
2015/11/10 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书