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 相关文章推荐
一个关于javascript匿名函数的问题分析
Mar 30 Javascript
js键盘上下左右键怎么触发function(实例讲解)
Dec 14 Javascript
js带点自动图片轮播幻灯片特效代码分享
Sep 07 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
Sep 25 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
Dec 04 Javascript
JavaScript拖动层Div代码
Mar 01 Javascript
基于 Vue 的树形选择组件的示例代码
Aug 18 Javascript
BootStrap 标题设置跨行无效的解决方法
Oct 25 Javascript
JS实现字符串去重及数组去重的方法示例
Apr 21 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
Apr 08 Javascript
基于Express框架使用POST传递Form数据
Aug 10 Javascript
关于JavaScript回调函数的深入理解
Jun 27 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
phpize的深入理解
2013/06/03 PHP
深入密码加salt原理的分析
2013/06/06 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
JavaScript 学习笔记(四)
2009/12/31 Javascript
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
javascript中的数字与字符串相加实例分析
2011/08/14 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
js实现防止被iframe的方法
2015/07/03 Javascript
jQuery简介_动力节点Java学院整理
2017/07/04 jQuery
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
2017/07/18 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
JQuery事件冒泡和默认行为代码实例
2020/05/13 jQuery
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
Python自定义类的数组排序实现代码
2016/08/28 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
python实现自动网页截图并裁剪图片
2018/07/30 Python
Python静态类型检查新工具之pyright 使用指南
2019/04/26 Python
解决Django migrate不能发现app.models的表问题
2019/08/31 Python
基于Django统计博客文章阅读量
2019/10/29 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
Python各种扩展名区别点整理
2020/02/27 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
Keras实现将两个模型连接到一起
2020/05/23 Python
python怎么调用自己的函数
2020/07/01 Python
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
The North Face北面英国官网:美国著名户外品牌
2017/12/13 全球购物
党员培训思想汇报
2014/01/07 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
企业节能减排实施方案
2014/03/19 职场文书
研发工程师岗位职责
2014/04/28 职场文书
临时租车协议范本
2014/09/23 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android