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 相关文章推荐
jquery的键盘事件修改代码
Feb 24 Javascript
JavaScript中去掉数组中的重复值的实现方法
Aug 03 Javascript
浏览器解析js生成的html出现样式问题的解决方法
Apr 16 Javascript
关于jQuery新的事件绑定机制on()的使用技巧
Apr 26 Javascript
自己写的Javascript计算时间差函数
Oct 28 Javascript
js数组如何添加json数据及js数组与json的区别
Oct 27 Javascript
AngularJS控制器controller正确的通信的方法
Jan 25 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
May 15 Javascript
AngularJS下对数组的对比分析
Aug 24 Javascript
vue实现a标签点击高亮方法
Mar 17 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
Dec 21 Javascript
jquery将信息遍历到界面上实例代码
Jan 21 jQuery
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 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
PHP写日志的实现方法
2014/11/05 PHP
php使用google地图应用实例
2014/12/31 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
jQuery.extend 函数的详细用法
2012/06/27 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
在Ubuntu系统上安装Node.JS的教程
2015/10/15 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
2016/01/23 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
微信小程序自定义组件components(代码详解)
2019/10/21 Javascript
Vue实现验证码功能
2019/12/03 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
浅析matlab中imadjust函数
2020/02/27 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
Java程序员综合测试题
2014/04/25 面试题
会计岗位职责
2013/11/08 职场文书
竞赛口号大全
2014/06/16 职场文书
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
会计人员岗位职责
2015/02/03 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书
USB TYPE-C 或将成为所有智能手机充电标准
2022/04/21 数码科技