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 textarea的长度进行验证
May 06 Javascript
鼠标经过的文本框textbox变色
May 21 Javascript
jQuery Lightbox 图片展示插件使用说明
Apr 25 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
Aug 13 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
Aug 11 Javascript
jQuery实现产品对比功能附源码下载
Aug 09 Javascript
String字符串截取的四种方式总结
Nov 28 Javascript
Bootstrap框架实现广告轮播效果
Nov 28 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
Jan 11 Javascript
angularjs2 ng2 密码隐藏显示的实例代码
Aug 01 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
Jul 22 Javascript
JavaScript中的几种继承方法示例
Dec 06 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
isset和empty的区别
2007/01/15 PHP
php读取30天之内的根据算法排序的代码
2008/04/06 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
在 Laravel 中动态隐藏 API 字段的方法
2019/10/25 PHP
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
2014/12/31 Javascript
使用jQuery监听DOM元素大小变化
2016/02/24 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
Python简单读取json文件功能示例
2017/11/30 Python
Python字典的概念及常见应用实例详解
2019/10/30 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
环保专业大学生职业规划设计
2014/01/10 职场文书
竞聘副主任科员演讲稿
2014/01/11 职场文书
岳父生日宴会答谢词
2014/01/13 职场文书
中考冲刺决心书
2014/03/11 职场文书
法律专业自荐信
2014/06/03 职场文书
校长一岗双责责任书
2015/05/09 职场文书
公司辞职信模板
2015/05/13 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书
教师节祝酒词
2015/08/11 职场文书
2016年春节慰问信息大全
2015/11/30 职场文书
银行大堂经理培训心得体会
2016/01/09 职场文书
小学生一年级(书信作文)
2019/08/13 职场文书
60条职场经典语录,总有一条能触动你的心
2019/08/21 职场文书
用Python可视化新冠疫情数据
2022/01/18 Python
业余无线电通联Q语
2022/02/18 无线电