在JavaScript中,arguments属于当前对象的一个内置属性,arguments非常类似于Array对象,但是又不是实例的Array。比如:

Array.prototype.testArg = "test";
function funcArg() {
alert(funcArg.arguments.testArg);
alert(funcArg.arguments[0]);
} alert(new Array().testArg); // result: "test"
funcArg(10); // result: "undefined" "10"

  arguments对象的长度是由实参个数决定的,形参是函数内部重新开辟内存空间储存的变量,与arguments对象内存空间不重叠。对于arguments和值都存在的情况下,两者值都是同步的,但是针对一个无值得情况下,无值是不会得以同步的,如例:

function f(a, b, c){
alert(arguments.length); // result: "2"
a = 100;
alert(arguments[0]); // result: "100"
arguments[0] = "qqyumidi";
alert(a); // result: "qqyumidi"
alert(c); // result: "undefined"
c = 2012;
alert(arguments[2]); // result: "undefined"
} f(1, 2);

    arguments对象中有一个非常有用的属性:callee。arguments.callee返回此arguments对象所在的当前函数引用。在使用函数递归调用时推荐使用arguments.callee代替函数名本身。

function count(a){
if(a<1){
return 1;
}
return a + arguments.callee(a-1);
} var num = count(4);
alert(num);

  差不多常用的就这些吧。如有疑问或见解,多多指正。

最新文章

  1. 连接第二个 insance 到 first_local_net - 每天5分钟玩转 OpenStack(83)
  2. 部署Icinga-php4
  3. Why do we live in this world?
  4. C/S love自编程序
  5. Qt 自定义 滚动条 样式
  6. 用Javascript弹出div定义的消息框并往块里面填写文字
  7. 文件夹工具类 - FolderUtils
  8. Oracle &gt; count(*) / count(0) / count(1) | order by 1, 2
  9. Service的一些使用
  10. css案例学习之并集选择器
  11. 一个不错的文章-【原创】2014年信息安全产品及厂家分类-SOC&amp;SIEM安全厂家 | Srxh1314
  12. 安德鲁斯Selector简介
  13. 让Windows 8 / 8.1 以及 Windows Server 2012 / 2012 R2的桌面,显示我的电脑图标
  14. 反向代理(Reverse Proxy)
  15. ASP.NET Core Web APi获取原始请求内容
  16. 第一册:lesson 107.
  17. [转]BSD系统正在死亡?一些安全研究人员这样认为
  18. hdu 3790 最短路问题 (spfa练手)
  19. CSS 基础:定位元素(3)&lt;思维导图&gt;
  20. react native 初识生命周期

热门文章

  1. Mac配置gdb的一些问题
  2. python--字符编码理解
  3. redis+PHP消息队列实现及应用
  4. Python基础(六)——面向对象编程
  5. Java并发编程的艺术 记录(二)
  6. linux学习-主机的细部权限规划:ACL 的使用
  7. ora flashback详解
  8. selenium - 常用等待操作
  9. pip installl安装包特别慢? 指定源进行安装
  10. Android内存使用——垃圾回收LOG,GC_CONCURRENT等的意义的说明