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 操作Javascript对象和数组的工具函数小结
Jan 22 Javascript
关于JavaScript中var声明变量作用域的推断
Dec 16 Javascript
PHP中CURL的几个经典应用实例
Jan 23 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
Jan 19 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
May 15 Javascript
jquery插件uploadify多图上传功能实现代码
Aug 12 Javascript
Bootstrap实现导航栏的2种方式
Nov 28 Javascript
JS仿Base.js实现的继承示例
Apr 07 Javascript
详解react使用react-bootstrap当轮子造车
Aug 15 Javascript
vue复合组件实现注册表单功能
Nov 06 Javascript
移动web开发之touch事件实例详解
Jan 17 Javascript
vue实现点击按钮切换背景颜色的示例代码
Jun 23 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
php中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
2014/06/22 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
JavaScript 学习点滴记录
2009/04/24 Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
深入解析JavaScript中函数的Currying柯里化
2016/03/19 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
Javascript 链式作用域详细介绍
2017/02/23 Javascript
jsTree事件和交互以及插件plugins详解
2017/08/29 Javascript
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
小程序封装路由文件和路由方法(5种全解析)
2019/05/26 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
从零学Python之hello world
2014/05/21 Python
从零学Python之入门(二)基本数据类型
2014/05/25 Python
python定时检查某个进程是否已经关闭的方法
2015/05/20 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
python3 property装饰器实现原理与用法示例
2019/05/15 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
2019/10/14 Python
python django中8000端口被占用的解决
2019/12/17 Python
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
实现向右循环移位
2014/07/31 面试题
介绍一下JNDI的基本概念
2013/07/26 面试题
竞聘上岗演讲稿范文
2014/01/10 职场文书
个人评语大全
2014/05/04 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
办公室主任个人总结
2015/02/28 职场文书
心灵点滴观后感
2015/06/02 职场文书
超强台风观后感
2015/06/09 职场文书
导游词之山东八大关
2019/12/18 职场文书
使用Postman测试需要授权的接口问题
2022/06/21 Java/Android