function showStars(number) {

    for (let i= 0; i <=number; i++) {
      let star = "";
      for (let s = 0; s <= i; s++)
         star += "*";
      return star;
    }
}


console.log(showStars(3))//只有一颗星

最佳答案

您需要将return放在两个for循环之外。
return值之后,此后的任何代码(包括循环的第二次迭代)都不会运行。

代码应如下所示:

function showStars(number) {

    for (let i= 0; i <=number; i++) {
      let star = "";
      for (let s = 0; s <= i; s++)
         star += "*";

    }

    return star;
}


编辑:
而且,您的star变量会在循环的每次迭代中重置。

我不确定您的预期输出是什么,但是我想您可能打算这样做?

function showStars(number) {

    let star = "";

    for (let i= 0; i < number; i++) {

      star += "*";

    }

    return star;
}

关于javascript - 为什么函数showStar()不能与(Return)一起使用,而不能根据行增加星号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56139622/

10-11 13:00