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 indexOf函数使用说明
Jul 03 Javascript
JavaScript学习笔记(十七)js 优化
Feb 04 Javascript
关于flash遮盖div浮动层的解决方法
Jul 17 Javascript
Javascript 实现的数独解题算法网页实例
Oct 15 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
Aug 01 Javascript
基于angularjs实现图片放大镜效果
Aug 31 Javascript
vue.js指令v-model实现方法
Dec 05 Javascript
javascript实现考勤日历功能
Nov 29 Javascript
详解使用React.memo()来优化函数组件的性能
Mar 19 Javascript
Vue-cli打包后部署到子目录下的路径问题说明
Sep 02 Javascript
关于Node.js中频繁修改代码重启服务器的问题
Oct 15 Javascript
vue-cli3.x配置全局的scss的时候报错问题及解决
Apr 30 Vue.js
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
基于文本的访客签到簿
2006/10/09 PHP
PHP使用内置dir类实现目录遍历删除
2015/03/31 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
PHP多进程简单实例小结
2019/11/09 PHP
IE中jscript/javascript的条件编译
2006/09/07 Javascript
Jquery选择器 $实现原理
2009/12/02 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
2013/05/07 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
2017/10/25 Javascript
浅谈Webpack 持久化缓存实践
2018/03/22 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
2018/09/19 Javascript
Vue中Axios从远程/后台读取数据
2019/01/21 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
Python中常用信号signal类型实例
2018/01/25 Python
python使用生成器实现可迭代对象
2018/03/20 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
高中毕业生生活的自我评价
2013/12/08 职场文书
项目建议书格式
2014/03/12 职场文书
机关搬迁方案
2014/05/18 职场文书
小学生春游活动方案
2014/08/20 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
2016年第16个全民国防教育日宣传活动总结
2016/04/05 职场文书