HOWTO · JavaScript

在 JavaScript 中写新行

本教程教授如何在 JavaScript 中编写新行。

本页内容

在 JavaScript 中换行,可以在字符串中加入 \n 转义序列,也可以使用包含实际换行的模板字面量。这两种方式都适用于字符串和控制台输出。若要在浏览器中显示换行,请创建 HTML <br> 元素或使用多个块级元素;字符串中的换行符不会自动显示为 HTML 换行。

使用转义序列插入换行

\n 转义序列表示 JavaScript 字符串中的换行符(LF)。把它放在需要开始下一行的位置,然后将字符串传给所需的输出方法。例如,console.log() 会将换行符写入控制台,因此消息会显示为两行。

运行以下示例:

本节中的代码以及显示的标签或输出仍为英文。

const message = "Hello, World!\nWelcome to JavaScript.";
console.log(message);

同一个字符串也可以存储起来、与其他字符串拼接,或传给另一个函数。换行符属于字符串值本身,并不依赖 console.log()。如果目标位置不会以视觉换行的方式呈现换行符,例如普通 HTML 文本,就应改用适合该位置的渲染方式。

使用模板字面量创建多行字符串

模板字面量使用反引号,可以让字符串跨越多行源代码。反引号之间的换行会成为字符串的一部分,因此编写较长的固定文本时,这种写法通常更易读。模板字面量还支持 ${expression} 插值,让你无需手动拼接字符串即可加入变量值。

运行以下示例:

本节中的代码以及显示的标签或输出仍为英文。

const name = "JavaScript";
const message = `Hello, World!
Welcome to ${name}.`;
console.log(message);

当源码本身适合采用多行排版,或字符串中需要插入变量值时,可以使用模板字面量。如果文本较短,或者你希望在单行字符串中明确指定换行位置,则可以使用 \n。两种方式都会生成包含换行符的字符串;它们都不会决定浏览器如何显示该字符串。

在 HTML 中呈现换行

在浏览器内容中,<br> 会在文本中呈现换行。对于固定的页面内容,可以直接在 HTML 中写入换行标记。对于动态内容,可以使用 document.createElement("br") 创建元素,并将其插入文本节点之间;这样,值会作为文本处理,而不会交给浏览器解析为 HTML 标记。

本节中的代码以及显示的标签或输出仍为英文。

<p>Hello, World!<br>Welcome to JavaScript.</p>

这里的 HTML 是静态网页示例,不是控制台示例,也不是运行时输出。涉及动态值时,应优先使用 textContent 或文本节点。将不可信输入赋给 innerHTML,可能导致浏览器把输入解析为标记,从而带来跨站脚本风险。只有在标记内容可信且确实需要解析时,才使用 innerHTML。

CSS 外边距和内边距可以在不同元素之间增加视觉间距,但不会在 JavaScript 字符串中插入换行符,也不会在文本节点内部创建换行。字符串内容使用 \n 或多行模板字面量;浏览器文本内部换行使用 <br>;若要调整元素之间的布局间距,则使用 CSS。