javascript - 获得实际输出 JavaScript 后,我变得不确定
问题描述
每次我运行这段代码时,我都会得到输出,但是有了那个输出,我也会得到未定义的未定义表示什么
function factorial(num) {
let final = 1;
function helper(no) {
if (no === 0) return;
if (no > 1) {
final *= no;
}
no--;
helper(no);
}
helper(num);
console.log(final);
}
factorial(5)
解决方案
您的阶乘函数确实没有返回任何内容。
您正在执行 aconsole.log
来打印值,并且末尾没有“return”相当于具有隐含的return undefined
.
您的浏览器控制台会输出函数的返回值,这就是您可能感到困惑的原因。
代替return final
(或补充)您的console.log(final);
如果您希望您的阶乘函数实际返回一个值(您可以稍后使用)而不是仅将其打印到控制台,那将是首选。
推荐阅读
- android - 我正在提供 Drawable 类对象,但参数给出错误消息,“必需类型 int 提供 Drawable”
- angular - 在 mat-autocomplete 上选择一个值会清除该值,然后显示完整列表?
- c# - Fluent Migrator 在错误的数据库中创建了表版本信息
- javascript - 将数组转换为 ES6 可迭代
- javascript - 为什么我们应该使用 += 登录 for 循环来获取所有数组值?
- python-3.x - 在 OpenCV2 中创建虚拟画布
- r - 在 ggplot2 中的平滑线末端添加一个点(类似棒棒糖)
- arrays - 如何根据兄弟对象属性中的索引从数组中选择对象?
- amazon-web-services - 有关 AWS 以太坊网络的一般问题
- xpath - xpath 帮助:查找带有子按钮的 div