JS之arguments、arguments.callee、caller介绍

arguments:调用函数时产生的,保存实参。

arguments.callee:被调用时指向函数自身。

caller:指向调用某函数的那个函数。

 

下面通过一段代码说明它们的用处:

function A (n) {
    console.log(arguments);                  // Arguments [1, callee: ƒ, Symbol(Symbol.iterator): ƒ]
    console.log(A);                          // ƒ A(n)
    console.log(arguments.callee);           // ƒ A(n)
    console.log(A.caller);                   // ƒ B ()
    console.log(arguments.callee.caller);    // ƒ B ()
}

function B () {
    A(1)
}

B();

arguments 是一个对应于传递给函数的参数的类数组对象。是所有(非箭头)函数中都可用的局部变量。它类似于Array,但除了length属性和索引元素之外没有任何Array属性。typeof参数返回 'object'。

注意:现在在严格模式下,arguments对象已与过往不同。不再与函数的实际形参之间共享,同时caller属性也被移除。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值