如何打印从 JavaScript 到 html 的函数

How can I print a function from JavaScript to html

我试图从“*”中提取出来,我得到了正确的代码,因为它在控制台中工作,但是当我尝试在 html 文档中打印它时,它不起作用

function Pyramid() {
    let rows = 9;
    let output = '';
    for (let i = 1; i <= rows; i++) {
        for (let j = 1; j <= i; j++) {
            output += '*  ';
        }
        console.log(output);
        return output;
        output = '';
    }
}
document.getElementById('pyramid').textContent = generatePyramid();
<body>
    <div id="pyramid"></div>
    <script src="../script.js/script.js"></script>
</body>

试试这个

document.getElementById("金字塔").innerHTML='generatePyramid()';

好的,所以这里有一些小问题。

  • 您的函数名为 Pyramid,但您正在调用 generatePyramid
  • 您在第一行的末尾返回,因为 return output 在 for 循环中。
  • 在控制台中,您正在使用 console.log 进行输出,这将在控制台中为您提供一行...但是对于 HTML,您只是将其全部转储,因此它将是一个连续的行星星而不是一次一行。

在下面的代码中,我已经修复了这些问题并使其在 <p> 中输出每一行。有很多方法可以实现并改进它,但我认为这就是您的目标。

function generatePyramid() {
  let rows = 9;
  let output = "";
  for (let i = 1; i <= rows; i++) {
    output += "<p>";
    for (let j = 1; j <= i; j++) {
      output += "* ";
    }
    output += "</p>";
  }
  return output;
}

document.getElementById("pyramid").innerHTML = generatePyramid();