javascript - 递归只能在函数表达式中使用吗?使用函数声明在简单的代码中尝试过,它仍然有效,我错过了什么吗
问题描述
我听说递归只能在函数表达式中使用,但我已经在函数声明中尝试过它并且效果很好。我可以通过编写一个简单的代码来计算前 n 个自然数的总和来证明这一点。
1. 使用函数表达式:
var addNum = function sumTest(n)
{
if (n === 1)
return 1;
return (n + sumtest(n - 1));
};
console.log(addNum(100)); // output will be 5050 in console.
2.使用函数声明:
function sumTest(n) {
if (n === 1) {
return 1;
} else {
return (n + sumTest(n - 1));
}
}
console.log(sumTest(100)); // output 5050 in console.
那么函数声明中的递归也成功了吗?
我在这里错过了什么吗?
解决方案
推荐阅读
- php - Laravel 通知未发送
- kubernetes - *4 connect() 在上游连接到 kubernetes 仪表板时失败(113:没有到主机的路由)
- html - 如何使用 flexbox 制作一堆项目
- c# - Azure Functions - SQL DB Extract to Output Blob
- amazon-web-services - 为什么我的 Swagger UI 在 https 上加载时会尝试访问非 http 内容?
- javascript - 以递归方式将firebase快照转换为数组无法正常工作
- php - 该函数不连接查询到数据库
- excel - 使用用户表单将信息插入 Internet Explorer
- pdf - nuxt.js 的 pdf 加载器
- css - 角度测试台,通过css查询,找到伪元素