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 相关文章推荐
javascript中字符串拼接需注意的问题
Jul 13 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
Jan 06 Javascript
JS实现自定义简单网页软键盘效果代码
Nov 05 Javascript
JavaScript实现下拉菜单的显示和隐藏
Jan 05 Javascript
jQuery遍历DOM元素与节点方法详解
Apr 14 Javascript
Node.js 8 中的重要新特性
Jun 28 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
Jul 13 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
Dec 13 Javascript
js运算符的一些特殊用法
Jul 29 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
Nov 11 Javascript
JavaScript中this的全面解析及常见实例
May 14 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
Apr 30 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中将数组转成XML格式的实现代码
2011/08/08 PHP
解析PHP处理换行符的问题 \r\n
2013/06/13 PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
2014/01/10 Javascript
分享一个常用的javascript静态类
2014/12/31 Javascript
基于jQuery实现咖啡订单管理简单应用
2017/02/10 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
2017/02/27 Javascript
使用clipboard.js实现复制功能的示例代码
2017/10/16 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
浅谈Python对内存的使用(深浅拷贝)
2018/01/17 Python
python简单实现操作Mysql数据库
2018/01/29 Python
pandas 时间格式转换的实现
2019/07/06 Python
Python sorted对list和dict排序
2020/06/09 Python
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
英国在线药房:Chemist.co.uk
2019/03/26 全球购物
医学生实习自我鉴定
2013/09/27 职场文书
学年自我鉴定
2014/01/16 职场文书
同事吵架检讨书
2014/02/05 职场文书
二年级学生评语大全
2014/04/23 职场文书
技术负责人任命书
2014/06/05 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
纪检监察立案决定书
2015/06/24 职场文书
2015毕业设计工作总结
2015/07/24 职场文书
前端JavaScript大管家 package.json
2021/11/02 Javascript
深入理解 Golang 的字符串
2022/05/04 Golang
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python