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 继承详解(四)
Jul 13 Javascript
JavaScript QueryString解析类代码
Jan 17 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
May 11 Javascript
javascript高级编程之函数表达式 递归和闭包函数
Nov 29 Javascript
jQuery常用的一些技巧汇总
Mar 26 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
May 10 Javascript
JavaScript 最佳实践:帮你提升代码质量
Dec 03 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
Dec 08 Javascript
Webpack打包慢问题的完美解决方法
Mar 16 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
Sep 12 Javascript
vue-cli3.0 特性解读
Apr 22 Javascript
微信小程序实现折叠与展开文章功能
Jun 12 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 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
js动态删除div元素基本思路及实现代码
2014/05/08 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
vue3.0搭配.net core实现文件上传组件
2020/10/29 Javascript
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[04:20]DOTA2-DPC中国联赛 正赛 VG vs LBZS 选手采访 1月19日
2021/03/11 DOTA
django接入新浪微博OAuth的方法
2015/06/29 Python
mac系统安装Python3初体验
2018/01/02 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
护士演讲稿范文
2014/01/05 职场文书
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
2014年最新学习全国两会精神心得
2014/03/17 职场文书
亲子活动总结
2014/04/26 职场文书
简单租房协议书范本
2014/08/20 职场文书
12.4法制宣传日标语
2014/10/08 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
python中的装饰器该如何使用
2021/06/18 Python
2022微信温控新功能上线
2022/05/09 数码科技