JavaScript伪数组用法实例分析


Posted in Javascript onDecember 22, 2017

本文实例讲述了JavaScript伪数组用法。分享给大家供大家参考,具体如下:

在Javascript中什么是伪数组?

伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法来遍历它们。

1.典型的是函数的 argument参数,
2.像调用getElementsByTagName,document.childNodes之类的,它们都返回 NodeList对象都属于伪数组。

那么如何将伪数组转化为标准数组?

可以使用Array.prototype.slice.call(fakeArray)将数组转化为真正的Array 对象。

举个例子,利用伪数组实现不定参数求和问题.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>伪数组</title>
</head>
<script>
  function add(){
    var sum=0;
    console.log(arguments);
    for(var i=0;i<arguments.length;i++){
      sum +=arguments[i];
    }
    return sum;
  }
 console.log(add(1,2,5,8));
</script>
<body>
</body>
</html>

运行结果:

JavaScript伪数组用法实例分析

将伪数组转化为标准数组

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>伪数组</title>
</head>
<script>
  function add(){
    var sum=0;
    console.log(arguments instanceof Array);//可以判断下此时是不是真正数组,返回值为false;
    console.log(arguments);//此时打印的是传入的参数1,2,5,8
    var arguments=Array.prototype.slice.call(arguments);//将伪数组转化为标准数组
    arguments.push(10);//此时就可以调用标准数组的方法
    console.log(arguments instanceof Array);//可以判断下此时是不是真正数组,返回值为true;
    console.log(arguments);//此时打印的是传入的参数,push之后的数组1,2,5,8,10
    for(var i=0;i<arguments.length;i++){
      sum +=arguments[i];
    }
    return sum;
  }
 console.log(add(1,2,5,8));
</script>
<body>
</body>
</html>

运行结果:

JavaScript伪数组用法实例分析

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jquery tools之tooltip
Jul 25 Javascript
javascript针对DOM的应用分析(四)
Apr 15 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
Jun 16 Javascript
基于jQuery实现表单提交验证
Nov 24 Javascript
jQuery多个版本和其他js库冲突的解决方法
Aug 11 Javascript
js设置和获取自定义属性的方法
Oct 20 Javascript
js实现左右两侧浮动广告
Jul 09 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
Sep 15 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
Oct 09 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
Jul 27 Javascript
原生JS实现多条件筛选
Aug 19 Javascript
JS如何使用剪贴板操作Clipboard API
May 17 Javascript
JavaScript中Object值合并方法详解
Dec 22 #Javascript
Angular简单验证功能示例
Dec 22 #Javascript
Angular实现的table表格排序功能完整示例
Dec 22 #Javascript
详解Vue中localstorage和sessionstorage的使用
Dec 22 #Javascript
vue + element-ui实现简洁的导入导出功能
Dec 22 #Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
Dec 22 #Javascript
js读取本地文件的实例
Dec 22 #Javascript
You might like
解决中英文字符串长度问题函数
2007/01/16 PHP
JS 分号引起的一段调试问题
2009/06/18 Javascript
Jquery 高亮显示文本中重要的关键字
2009/12/24 Javascript
js字符串转成JSON
2013/11/07 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
2013/11/14 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
vue.js 实现点击按钮动态添加li的方法
2018/09/07 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
深入理解令牌认证机制(token)
2019/08/22 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
javascript实现文字跑马灯效果
2020/06/18 Javascript
JavaScript canvas实现跟随鼠标移动小球
2021/02/09 Javascript
Python实现的多线程端口扫描工具分享
2015/01/21 Python
Python科学画图代码分享
2017/11/29 Python
快速了解Python相对导入
2018/01/12 Python
详解python的ORM中Pony用法
2018/02/09 Python
Python玩转Excel的读写改实例
2019/02/22 Python
详解python持久化文件读写
2019/04/06 Python
Python稀疏矩阵及参数保存代码实现
2020/04/18 Python
Python基于paramunittest模块实现excl参数化
2020/04/26 Python
HTML5新增加标签和功能概述
2016/09/05 HTML / CSS
马歇尔耳机官网:Marshall Headphones
2020/02/04 全球购物
保洁主管岗位职责
2013/11/20 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
优秀电子工程系毕业生求职信
2014/05/24 职场文书
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
2019年最新感恩节祝福语(28句)
2019/11/27 职场文书
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android
java如何实现socket连接方法封装
2021/09/25 Java/Android