在同一个函数中使用函数的名称会导致无限循环吗?

Ani*_*ker 3 javascript

最近,我们的老师给了我们关于JavaScript的测验.我在编程方面比较先进,所以当我遇到一个问题时:

在同一个函数中使用函数的名称会导致无限循环?

因为递归,我回答错误.根据我的理解,你必须使用函数的名称来调用它,所以递归会使这并不总是正确的.

我的理解是正确的,还是措辞不同?

Jon*_*ink 5

这将导致无限的递归"循环"(堆栈溢出):

function callMe() {
    callMe();
}
Run Code Online (Sandbox Code Playgroud)

而这不会导致无限循环:

function callMe() {
    if (false) {
        callMe();
    }
}
Run Code Online (Sandbox Code Playgroud)

但是两个snippit都有一个"使用"该函数名称的函数(使用你的问题的措辞).

所以,声明:

在同一个函数中使用函数的名称会导致无限循环?

实际上取决于被调用函数内部的逻辑(条件语句等).