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 相关文章推荐
IE中createElement需要注意的一个问题
Jul 13 Javascript
利用谷歌地图API获取点与点的距离的js代码
Oct 11 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
Sep 26 Javascript
给js文件传参数(详解)
Jul 13 Javascript
js实现用户注册协议倒计时的方法
Jan 21 Javascript
JS中捕获console.log()输出的方法
Apr 16 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
Sep 18 Javascript
图解JavaScript中的this关键字
May 28 Javascript
Easyui form combobox省市区三级联动
Jan 13 Javascript
JavaScript函数定义方法实例详解
Mar 05 Javascript
Java Varargs 可变参数用法详解
Jan 28 Javascript
VUE 实现element upload上传图片到阿里云
Aug 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
解析php5配置使用pdo
2013/07/03 PHP
PHP学习笔记(一) 简单了解PHP
2014/08/04 PHP
PHP文件缓存内容保存格式实例分析
2014/08/20 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
2017/10/19 jQuery
原生JS实现瀑布流插件
2018/02/06 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
详解vue服务端渲染浏览器端缓存(keep-alive)
2018/10/12 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
Python中基本的日期时间处理的学习教程
2015/10/16 Python
python书籍信息爬虫实例
2018/03/19 Python
python实现NB-IoT模块远程控制
2018/06/20 Python
对python 读取线的shp文件实例详解
2018/12/22 Python
python实现简单五子棋游戏
2019/06/18 Python
python的常见矩阵运算(小结)
2019/08/07 Python
Django 自定义分页器的实现代码
2019/11/24 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
HTML5移动端开发中的Viewport标签及相关CSS用法解析
2016/04/15 HTML / CSS
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
俄罗斯游戏商店:Buka
2020/03/01 全球购物
销售工作岗位职责
2013/12/24 职场文书
《赵州桥》教学反思
2014/02/17 职场文书
给客户的检讨书
2014/12/21 职场文书
网吧温馨提示
2015/07/17 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
Spring Boot 整合 Apache Dubbo的示例代码
2021/07/04 Java/Android
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python