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 相关文章推荐
获取dom元素那些讨厌的位置封装代码
Jun 23 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
Jun 20 Javascript
js全选实现和判断是否有复选框选中的方法
Feb 17 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
Mar 03 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
May 09 Javascript
JavaScript获取服务器端时间的方法
Nov 29 Javascript
JS验证字符串功能
Feb 22 Javascript
老生常谈javascript中逻辑运算符&amp;&amp;和||的返回值问题
Apr 13 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
May 11 Javascript
js实现移动端导航点击自动滑动效果
Jul 18 Javascript
如何通过javaScript去除字符串两端的空白字符
Feb 06 Javascript
Node.js path模块,获取文件后缀名操作
Nov 07 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自定义session示例分享
2014/04/22 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
浏览器常用高宽的jquery插件
2011/02/24 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
Js判断CSS文件加载完毕的具体实现
2014/01/17 Javascript
jQuery 选择器详解
2015/01/19 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
2021/01/26 Javascript
Python 列表排序方法reverse、sort、sorted详解
2016/01/22 Python
python虚拟环境virualenv的安装与使用
2016/12/18 Python
Python中正则表达式的用法总结
2019/02/22 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
Python 实现微信自动回复的方法
2020/09/11 Python
Django配置Bootstrap, js实现过程详解
2020/10/13 Python
matplotlib更改窗口图标的方法示例
2021/02/03 Python
Stefania Mode英国:奢华设计师和时尚服装
2017/10/23 全球购物
大学生应聘推荐信范文
2013/11/19 职场文书
竞聘书模板
2014/03/31 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
就业意向书范本
2015/05/11 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android