arguments对象

function f() {return arguments;}

>>f(1,2,3)

 [1,2,3]

   尽管arguments看上去想一个数组,但它实际上是一个类似数组的对象,它和数组相似是因为其中也包含索引元素个length属性,但相似之处也就到此为止了,因为如果arguments是一个单纯的数组,它是不会提供一些像sort()、slice()这样的数组方法的

   arguments还有一个值得关注的属性---callee属性,该属性引用的是当前背调用的函数对象,也就是说,我们锁紧啊的函数的返回值是arguments.callee,那么该函数被调用时就会返回自身的引用。

>>function f() {return arguments.callee;}

>>f()

 f()

此外,我们还可以通过arguments.callee属性来实现匿名函数的递归调用,例如:

(function(count){
 if(count<5){
  alert(count);
  arguments.callee(++count); 
 }
})(1)

在这里我们传递给内部的值是1,因此alert窗口会弹出四次,分别显示1、2、3、4.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值