JS中函数的callee属性

一、caller: 返回对现有函数的引用者/调用者

    使用语法: 函数名.caller(返回对现有函数的引用者);
    前提: 只有函数执行时才会有用
    
    outFn();
    function outFn() {
        inFn();
        console.log("我是第一个函数");
    }
    function inFn() {
        console.log(inFn.caller);
        因为outFn在调用inFn函数,所以通过inFn.caller得到的就是outFn的引用。
        console.log("我是第二个函数");
    }
    outFn();
    function outFn() {        
        console.log("我是第一个函数");
    }
    inFn();
    如果一个函数是在全局作用域被调用(也就是没有其他含在调用这个函数)
    那么,通过函数名caller得到的就是null。
    function inFn() {
        console.log(inFn.caller);
    }

二、callee: 返回当前函数自身的引用

使用语法: 是arguments下的一个属性: arguments.callee;

三、arguments.callee: 有一个length属性获取形参的个数

outFn();
function outFn() {
	inFn();
}
function inFn() {
	console.log(arguments.callee);
}

function test(a,b,c) {
	console.log(arguments.length);//获取实参个数
	console.log(arguments.callee.length);//获取形参个数
	console.log(test.length);//获取形参个数
}
test(1,2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值