argument,callee,caller及callee的用法

function funcArg(a, b) {
    console.log(funcArg.caller);
    console.log(arguments.callee);
    console.log(arguments);
}

function execArg() {
    funcArg(10, 23);
}

execArg();

//callee能够打印其本身
function calleeDemo() {
    alert(arguments.callee);
}
//递归计算
var sum = function(n) {
    if(n <= 1) return 1;
    else return n + arguments.callee(n - 1)
}
var sum1 = sum; //sum1和指向sum指向同一个引用
sum = function() {
    return 0;
}
console.log(sum1(5)); //15
console.log(sum(5)); //0  sum指向另一个函数引用

猜你喜欢

转载自blog.csdn.net/qq_33619285/article/details/56054434