关于arguments的用法

当函数的参数个数无法确定的时候:用 arguments。函数的 arguments 对象并不是一个数组,它相当于是一个实参的集合,但是访问单个参数的方式与访问数组元素的方式相同。访问

函数中的第n个参数 则可以使用arguments[n-1]。

1、arguments实际为实参的集合。既然是集合,那么一定有长度length;

arguments.length为函数实参的个数,要注意的是,arguments对象并不是一数组,它也不具有数据的所有方法,但是访问单个参数的方式与访问数组元素的方式相同。比如:

alert(sum( 1,2,3,4 ))   //返回的结果就是10
function sum (){var n = 0;for( var i=0; i<arguments.length; i++ ){n += arguments[i];}return n;
}

2、属性callee

对象都是有自己的属性和方法的,Arguments对象也是一样,callee就是它的方法,这个方法用的不多,很容易被我们忽略,它指向的是正在被执行的Function对象,

最常用的例子就是用来做递归了。比如:

function sum(n){if(n==1){return 1;}else{return n+arguments.callee(n-1)}}
console.log(sum(100))    //打印的结果就是5050

这个打印出来,就相当于实现了从1加到100的结果,实际上就是一个简单的计算器。

其实,关于arguments简单总结一下就是:

1、arguments像数组,是一个实参集合。

2、arguments有length属性,代表传给函数的参数个数。

3、可以数组下标访问参数,如arguments[0],但是没有数组其它方法。

4、可以使用callee这个属性调用自身。

好了,大概就是这样了,若是有问题,欢迎指出!

转载于:https://www.cnblogs.com/web001/p/8047564.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搞懂进程组、会话、控制终端关系,才能明白守护进程干嘛的?

守护进程概念&#xff1a;守护进程&#xff0c;也就是通常所说的Daemon进程&#xff0c;是Linux中的后台服务进程。周期性的执行某种任务或等待处理某些发生的事件。Linux系统有很多守护进程&#xff0c;大多数服务都是用守护进程实现的。比如&#xff1a;像我们的tftp&#xf…

关于编译C#文件

使用csc.exe编译非控制台应用程序,常使用/target选项此选项可简写为/t,用来指定要创建的文件类型. 如编译一个类库文件(dll)Class1.cs: namespaceTest...{ /**//// <summary> /// Class1 的摘要说明。 /// </summary> public class Class1 ...{ …

中缀表达式转换为前缀及后缀表达式并求值【摘】

它们都是对表达式的记法&#xff0c;因此也被称为前缀记法、中缀记法和后缀记法。它们之间的区别在于运算符相对与操作数的位置不同&#xff1a;前缀表达式的运算符位于与其相关的操作数之前&#xff1b;中缀和后缀同理。举例&#xff1a;(3 4) 5 - 6 就是中缀表达式- 3 4 …

H5-geolocation学习

geolocation——定位PC——IP地址精度比较低IP库Chrome -> Google手机——GPSwindow.navigator.geolocation单次 getCurrentPosition(成功, 失败, 参数)enableHighAccuracy 高精度模式——更慢、更费电timeout 超时maximumAge 缓存时间…

【速来抢】iPhone12、STM32开发板、1024元现金红包…打包免费送!!!

没错&#xff01;华清远见在做1024狂欢节活动今年他们“玩”的有点大参与活动&#xff0c;抽取幸运锦鲤下面21件惊喜大礼&#xff0c;打包全部带回家????参与方式&#xff1a;扫码下方二维码&#xff0c;进活动群获取抽奖链接&#xff0c;参与抽奖????福利2除了万元锦鲤…

什么才是成熟

成熟就是你能控制你自己&#xff0c;知道自己想要什么&#xff0c;并能自如的朝着这个方向走&#xff0c;是你能控制自己的喜怒哀乐&#xff0c;而不是要别人左右你&#xff0c;他的表现应该是这样的 &#xff08;文摘&#xff01;&#xff09; 1.现实态度 一个心理健全的成年人…

1024,第 15 届「中国内核开发者大会」 参会指南(议程全剧透)

各位好&#xff0c;第 15 届「中国内核开发者大会」即将开幕&#xff0c;这些参会指南请提前收藏好&#xff1a;2020「中国内核开发者大会」&#xff08;以下简称 CLK&#xff09;将在 2020 年 10 月 24 日举办&#xff0c;线上线下同步进行&#xff0c;线上由 CSDN 进行全网直…

C语言中的转义字符【转ce123的技术博客】

C语言中的转义字符 简介 在字符集中&#xff0c;有一类字符具有这样的特性&#xff1a;当从键盘上输入这个字符时&#xff0c;显示器上就可以显示这个字符&#xff0c;即输入什么就显示什么。这类字符称为可显示字符&#xff0c;如a、b、c、$、和空格符等都是可显示字符。 另一…

Tomcat配置和Web应用程序开发

引自友人blog: [url]http://blog.csdn.net/senton[/url]◆tomcat是一个专门用于web服务的服务器软件.1&#xff0e;运行 &#xff1a;设置完毕后就可以运行tomcat服务器了&#xff0c;进入tomcat的bin目录&#xff0c;windows下用startup启动tomcat&#xff0c;相应的关闭tomca…

centos关闭防火墙

centos6.5 查看防火墙状态 &#xff1a; service iptable status 临时关闭防火墙 &#xff1a; servcie iptables stop 永久关闭防火墙 &#xff1a;chkconfig iptables off centos7 停止firewall&#xff1a; systemctl stop firewalld.service …

1024对话内核大神谢宝友

我看了CSDN的采访&#xff0c;感觉比较官方&#xff0c;不知道是不是编辑的原因把一些内容给隐藏了&#xff0c;所以我还是想完整的内容放出来给大家看看&#xff0c;这些问题&#xff0c;可能是很多后辈程序员非常关心的。今天是1024节&#xff0c;这个数字对于写在电脑前写代…

转义字符的应用

转义字符的应用 案列1&#xff1a;很多转义字符的作用是专门针对于打印机的,比如\b1、使用“Y”和“-”&#xff1b;2、打印Y&#xff0c;光标在Y后3、退格&#xff0c;这时光标落在Y字符处&#xff0c;由于是打印机&#xff0c;Y还是留了下来&#xff0c;就打出“”。案例2&am…

javascript 里Array的一些方法

1. join()方法&#xff1a;join()方法的用途是连接字符串值&#xff0c;join()方法只有一个参数&#xff0c;即数组项之间使用的字符串如&#xff1a;varaColors ["red","green","blue"];alert(aCloors.join("-"));//output "red…

链表_有序链表(给数组排序-应用)

//链结点 public class Link {public long dData;public Link next;public Link(long dd) {dDatadd; }public void displayLink() {System.out.print(dData" ");}} public class SortedList {private Link first;public SortedList(Link[] linkArr) {firstnull;fo…

很多人都不清楚HEX文件格式

Intel HEX文件是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。在Intel HEX文件中&#xff0c;每一行包含一个HEX记录。这些记录由对应机器语言码和/或常量数据的十六进制编码数字组成。Intel HEX文件通常用于传输将被存于ROM或者EPROM中的程序和数据。大多数EPR…

小学生算术

</pre><pre> 小学生算术 描述 很多小学生在学习加法时&#xff0c;发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据&#xff0c;直到输入两个0结束。 输入 输入两个正整数m和n.(m,n都是三位…

如何在asp.net中实现listbox item值上下移动?(转)

全部.net为&#xff1a;1 <form id"myform"runat"server">2 <div>3 <asp:ObjectDataSource ID"ObjectDataSource1"runat"server"OldValuesParameterFormatString"original_{0}"4 …

洛谷1345 [Usaco5.4]奶牛的电信

题目描述 农夫约翰的奶牛们喜欢通过电邮保持联系&#xff0c;于是她们建立了一个奶牛电脑网络&#xff0c;以便互相交流。这些机器用如下的方式发送电邮&#xff1a;如果存在一个由c台电脑组成的序列a1,a2,...,a(c)&#xff0c;且a1与a2相连&#xff0c;a2与a3相连&#xff0c;…

有意思,USB资料分享

前几天&#xff0c;有个同学在微信问我 「发哥&#xff0c;能不能给我分享一些USB的资料吗&#xff1f;」-- 然后就有了今天的文章。我对USB印象很深&#xff0c;源于两个事情第一件事情是&#xff0c;我有一个大学同学&#xff0c;他的名字里面有一个「发」字&#xff0c;我们…