无法在 JavaScript 中插入换行符

Cannot insert newline in JavaScript

如何在 JavaScript 中插入换行符?下面的代码在一行中显示所有内容,即使在 for 循环

中使用换行符也是如此
function isEven(number)
{
    if (number % 2 == 0)
        return 1;
    else
        return 0;
}

for (let i=0;i<=30;i++)
{
    if (isEven(i) == 1)
    {
        document.write(i + " even\n");

    }
    else {
        document.write(i + " odd\n");

    }

}

既然你使用的是document.write,你应该使用<br>: The Line Break element:

function isEven(number)
{
    if (number % 2 == 0)
        return 1;
    else
        return 0;
}

for (let i=0;i<=30;i++)
{
    if (isEven(i) == 1)
    {
        document.write(i + " even<br>");

    }
    else {
        document.write(i + " odd<br>");

    }

}

您可以尝试使用方法 console.log(); 而不是 document.write();

我会在不使用 document.write 的情况下这样做 - 我会创建一个 ul 并构建一个包含所有 li 的字符串,并确定每个 li 是否为奇数;/偶数。然后将该字符串插入到 ul 的 innerHTM 中。这样做的好处是你只改变 DOM 一次 - 而不是每次迭代,并且使用 li 消除了对 line-breaks 的需要,因为 li 已经是块级元素。

我还会将奇数/偶数检查逻辑简化为 return 基于成为选项索引的模数运算符的文本。

function isEven(number) {
 const options = ['odd', 'even'];
 return options[number % 2];
}

let listStr = '';

for (let i=0;i<=30;i++) {
 listStr += '<li>' + i + ' - '  + isEven(i) + '</li>';
}

document.querySelector('#results').innerHTML = listStr;
#results {
  list-style: none;
}
<ul id="results"></ul>

使用 document.write 通常被认为是不好的做法,您根本不应该使用它。

在您的情况下,您可以创建一个 html 字符串,然后将其附加到文档正文(或您想要结果的任何位置)。

正如妈妈所说:您需要使用 <br> 标签,浏览器将其呈现为换行符。

我们使用Element.insertAdjacentHTML将html代码插入正文。

let html = "";

for (let i=0;i<=30;i++)
{
    if (isEven(i) == 1)
    {
        html += i + " even<br>";

    }
    else {
        html += i + "  odd<br>";

    }

}
document.body.insertAdjacentHTML("beforeend", html);