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 相关文章推荐
汉化英文版的Dreamweaver CS5并自动提示jquery
Nov 25 Javascript
利用js正则表达式验证手机号,email地址,邮政编码
Jan 23 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
Mar 06 Javascript
手机端页面rem宽度自适应脚本
May 20 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
Jul 14 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
Aug 14 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
Nov 08 Javascript
vue自定义指令directive的使用方法
Apr 07 Javascript
vue全局自定义指令-元素拖拽的实现代码
Apr 14 Javascript
微信小程序 腾讯地图显示偏差问题解决
Jul 27 Javascript
vue实现商城秒杀倒计时功能
Dec 12 Javascript
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
Jun 15 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 学习资料零碎东西
2010/12/04 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
一个JQuery操作Table的代码分享
2012/03/30 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
2014/06/06 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
node.js从数据库获取数据
2016/05/08 Javascript
js改变透明度实现轮播图的算法
2020/08/24 Javascript
jQuery验证表单格式的使用方法
2017/01/10 Javascript
关于Vue.nextTick()的正确使用方法浅析
2017/08/25 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
Python实现在线程里运行scrapy的方法
2015/04/07 Python
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
Python的numpy库中将矩阵转换为列表等函数的方法
2018/04/04 Python
python实现黑客字幕雨效果
2018/06/21 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
2018/12/14 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
python并发爬虫实用工具tomorrow实用解析
2019/09/25 Python
python如何实现单链表的反转
2020/02/10 Python
python字符串下标与切片及使用方法
2020/02/13 Python
python 项目目录结构设置
2020/02/14 Python
python str字符串转uuid实例
2020/03/03 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
巴西电子、家电、智能手机购物网站:Girafa
2019/06/04 全球购物
最新党员的自我评价分享
2013/11/04 职场文书
大学生自我鉴定范文模板
2014/01/21 职场文书
医学生自我评价
2014/01/27 职场文书
省级优秀班集体申报材料
2014/05/25 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python