arguments.callee用法

443 阅读1分钟

arguments.callee 在哪一个函数中运行,它就代表哪一个函数。 一般用在匿名函数中。

在匿名函数中有时会需要自己调用自己,但是由于是匿名函数,没有名子,无名可调。

这时就可以用arguments.callee来代替匿名的函数。

show me the code:

(function(n){

if(n > 1) return n* arguments.callee(n-1);

return n;

})(10);

现在arguments.callee 被弃用了。怎么办,其实很简单,给内部函数一个名字即可

function show(n) {
    var arr = [];
    return (function fn() {
        arr.unshift(n);
        n--;
        if (n != 0) {
            fn();
        }
        return arr;

    })()
}show(5)//[1,2,3,4,5]

转:www.cnblogs.com/wxcbg/p/856…