为什么在JavaScript for循环结束时出现未定义,当我试图打印出星星层?



我试着写一个叫做"star "它以以下模式打印出恒星层:

stars(1);
// *
stars(4);
// *
// **
// ***
// ****

这是我的代码:

function stars(n){
let result="";
for(let i=1;i<=n;i++){
result +="*" ;
console.log(result);
}
}
console.log(stars(1));
console.log(stars(4));

但是,结果是:

"*"
undefined
"*"
"**"
"***"
"****"
undefined

我试着拆开循环,但仍然不能弄清楚为什么"未定义";出现了。谢谢!

function stars(n){
let result="";
for(let i=1;i<=n;i++){
result +="*" ;
console.log(result);
}
}
stars(1);
stars(4);

*是一个不返回任何值的函数,然后控制台记录它的日志undefined

你应该直接调用stars(x),而不是使用console。因为你的函数没有返回任何东西。

最新更新