普通或箭头函数能否以递归方式从其身体中调用自身?

Hri*_*dov 1 javascript recursion function ecmascript-6

一个正常的自调用函数如下所示:

(function () {
    // Something.
})();
Run Code Online (Sandbox Code Playgroud)

但是,函数可以以某种方式以递归方式调用自身,如下所示:

(function f(i, num) {
    if (num > 0) {
        console.log(i);
        f(i + 1, num - 1);
    }
})(0, 2);
Run Code Online (Sandbox Code Playgroud)

但仍然保持匿名?

ES6箭头功能可以自行调用吗?

(a => {
    // Somehow invoke itself.
})();
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 6

但是,函数可以以某种方式以这种递归方式调用自身

是.完全一样.

但仍然保持匿名

不需要.您必须引用一个函数才能调用它.获得IIFE参考的唯一方法是给它一个名字.

但是,具有该名称的匹配变量仅该函数内的范围可用.

ES6箭头功能可以自行调用吗?

除非您获得对它的引用,否则您无法使用IIFE箭头功能.