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 相关文章推荐
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
Apr 13 Javascript
再说AutoComplete自动补全之实现原理
Nov 05 Javascript
13 个JavaScript 性能提升技巧分享
Jul 26 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
Jan 11 Javascript
解析使用JS 清空File控件的路径值
Jul 08 Javascript
JQuery实现table行折叠效果以JSON做数据源
May 26 Javascript
js父页面与子页面不同时显示的方法
Oct 16 Javascript
JavaScript实现将文本框的值插入指定位置的方法
Aug 13 Javascript
Mvc提交表单的四种方法全程详解
Aug 10 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
Oct 26 Javascript
利用jquery实现实时更新歌词的方法
Jan 06 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
Oct 30 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/05/26 PHP
学习php中的正则表达式
2014/08/17 PHP
php使用array_search函数实现数组查找的方法
2015/06/12 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
2015/12/04 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
layui table设置前台过滤转义等方法
2018/08/17 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
2020/11/05 Javascript
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
python获取从命令行输入数字的方法
2015/04/29 Python
python实现将文本转换成语音的方法
2015/05/28 Python
Python实现批量下载图片的方法
2015/07/08 Python
django1.8使用表单上传文件的实现方法
2016/11/04 Python
python 输出上个月的月末日期实例
2018/04/11 Python
Python File(文件) 方法整理
2019/02/18 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
New Balance澳大利亚官网:运动鞋和健身服装
2019/02/23 全球购物
定义一结构体数组表示分数,并求两个分数相加之和
2013/06/11 面试题
动态密码技术
2012/10/18 面试题
工业设计专业推荐信
2013/10/29 职场文书
护士毕业生自我鉴定
2014/02/08 职场文书
《夏夜多美》教学反思
2014/02/17 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
六一儿童节致辞
2015/07/31 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS