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 select表单提交省市区城市三级联动核心代码
Jun 09 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
Mar 25 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
Sep 01 Javascript
layer弹窗插件操作方法详解
May 19 Javascript
webpack手动配置React开发环境的步骤
Jul 02 Javascript
对vue事件的延迟执行实例讲解
Aug 28 Javascript
解决vue v-for 遍历循环时key值报错的问题
Sep 06 Javascript
Vue父子组件之间的通信实例详解
Sep 28 Javascript
简单的React SSR服务器渲染实现
Dec 11 Javascript
JavaScript设计模式之观察者模式实例详解
Jan 16 Javascript
Node.js Windows Binary二进制文件安装方法
May 16 Javascript
Jquery如何使用animation动画效果改变背景色的代码
Jul 20 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文件操作详解
2016/12/30 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
Js的MessageBox
2006/12/03 Javascript
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
网页图片延时加载的js代码
2010/04/22 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
2013/10/16 Javascript
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
jQuery获取父元素及父节点的方法小结
2016/04/14 Javascript
浅谈js数据类型判断与数组判断
2016/08/29 Javascript
bootstrap table复杂操作代码
2016/11/01 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
微信小程序上线发布流程图文详解
2019/05/06 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
js实现简单扫雷
2020/11/27 Javascript
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
python保留小数位的三种实现方法
2020/01/07 Python
Python requests及aiohttp速度对比代码实例
2020/07/16 Python
Python异常处理机制结构实例解析
2020/07/23 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
法国一家多品牌成衣精品中/高档商店:Graduate Store
2019/08/28 全球购物
介绍一下Ruby的特点
2013/01/20 面试题
工程招投标邀请书
2014/01/30 职场文书
公司开会通知
2015/04/20 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android
python机器学习创建基于规则聊天机器人过程示例详解
2021/11/02 Python
django中websocket的具体使用
2022/01/22 Python