如何在 JavaScript 中创建具有多个空格的字符串
How to create string with multiple spaces in JavaScript
通过创建变量
var a = 'something' + ' ' + 'something'
我得到这个值:'something something'
。
如何在 JavaScript 中创建一个包含多个空格的字符串?
使用
它是用来表示不间断的实体space。它本质上是一个标准 space,主要区别在于浏览器不应在其占据的位置打断(或换行)一行文本。
var a = 'something' + '         ' + 'something'
不间断Space
HTML 中使用的一个常见字符实体是不间断的 space ( )。
请记住,浏览器将始终截断 HTML 页面中的 space。如果你写 10 spaces
你的文本,浏览器将删除其中的 9 个。要将真实的 space 添加到您的文本中,
您可以使用
字符实体。
http://www.w3schools.com/html/html_entities.asp
演示
var a = 'something' + '         ' + 'something';
document.body.innerHTML = a;
2022 年 - 使用 ES6 Template Literals 完成此任务。
如果你需要IE11 Support - use a transpiler.
let a = `something something`;
模板文字 快速、强大并且生成更简洁的代码。
如果您需要 IE11 支持而您没有 transpiler,请保持坚强并使用 \xa0
- 它是 不间断 SPACE 字符。
参考自UTF-8 encoding table and Unicode characters,可以这样写:
var a = 'something' + '\xa0\xa0\xa0\xa0\xa0\xa0\xa0' + 'something';
您可以将 <pre>
标签与 innerHTML 一起使用。 HTML <pre>
元素表示预先格式化的文本,该文本将完全按照 HTML 文件中的内容呈现。文本通常使用 non-proportional ("monospace") 字体呈现。此元素内的空白显示为所写。如果您不想要不同的字体,只需在 CSS 文件中添加 pre
作为选择器并根据需要设置样式。
例如:
var a = '<pre>something something</pre>';
document.body.innerHTML = a;
在 ES6 中:
let a = 'something' + ' '.repeat(10) + 'something'
旧答案:
var a = 'something' + Array(10).fill('\xa0').join('') + 'something'
里面的数字Array(10)
可以改成需要的空格数
对于模板文字,您可以使用多个空格或多行字符串和字符串插值。模板文字是 ES2015 / ES6 的一项新功能,可让您使用字符串。语法很简单,只用反引号代替单引号或双引号:
let a = `something something`;
要制作多行字符串,只需按回车键创建一个新行,没有特殊字符:
let a = `something
something`;
结果和你在字符串中写的完全一样。
我的字符串变量本身没有这个问题,只有当字符串转换成html.
可以使用 replace
和正则表达式将空格转换为受保护的空格 replace(/ /g, '\xa0')
。
var a = 'something' + ' ' + 'something'
p1.innerHTML = a
p2.innerHTML = a.replace(/ /g, '\xa0')
<p id="p1"></p>
<p id="p2"></p>
顺便说一句,如果您在 contenteditable
中输入许多空格,它们将被翻译为空格和受保护空格的交替序列,您可以在此处尝试:
<p contenteditable onkeyup="result.value = this.innerHTML">put many space into this editable paragraph and see the results in the textarea</p>
<textarea id="result"></textarea>
在 ES6 中,您可以像这样构建字符串:
const a = `something ${'\xa0'.repeat(10)} something`
只需在` ` 之间添加任何 space 并使用 ${var}
打印变量
通过创建变量
var a = 'something' + ' ' + 'something'
我得到这个值:'something something'
。
如何在 JavaScript 中创建一个包含多个空格的字符串?
使用
它是用来表示不间断的实体space。它本质上是一个标准 space,主要区别在于浏览器不应在其占据的位置打断(或换行)一行文本。
var a = 'something' + '         ' + 'something'
不间断Space
HTML 中使用的一个常见字符实体是不间断的 space ( )。
请记住,浏览器将始终截断 HTML 页面中的 space。如果你写 10 spaces 你的文本,浏览器将删除其中的 9 个。要将真实的 space 添加到您的文本中, 您可以使用 字符实体。
http://www.w3schools.com/html/html_entities.asp
演示
var a = 'something' + '         ' + 'something';
document.body.innerHTML = a;
2022 年 - 使用 ES6 Template Literals 完成此任务。 如果你需要IE11 Support - use a transpiler.
let a = `something something`;
模板文字 快速、强大并且生成更简洁的代码。
如果您需要 IE11 支持而您没有 transpiler,请保持坚强并使用 \xa0
- 它是 不间断 SPACE 字符。
参考自UTF-8 encoding table and Unicode characters,可以这样写:
var a = 'something' + '\xa0\xa0\xa0\xa0\xa0\xa0\xa0' + 'something';
您可以将 <pre>
标签与 innerHTML 一起使用。 HTML <pre>
元素表示预先格式化的文本,该文本将完全按照 HTML 文件中的内容呈现。文本通常使用 non-proportional ("monospace") 字体呈现。此元素内的空白显示为所写。如果您不想要不同的字体,只需在 CSS 文件中添加 pre
作为选择器并根据需要设置样式。
例如:
var a = '<pre>something something</pre>';
document.body.innerHTML = a;
在 ES6 中:
let a = 'something' + ' '.repeat(10) + 'something'
旧答案:
var a = 'something' + Array(10).fill('\xa0').join('') + 'something'
里面的数字Array(10)
可以改成需要的空格数
对于模板文字,您可以使用多个空格或多行字符串和字符串插值。模板文字是 ES2015 / ES6 的一项新功能,可让您使用字符串。语法很简单,只用反引号代替单引号或双引号:
let a = `something something`;
要制作多行字符串,只需按回车键创建一个新行,没有特殊字符:
let a = `something
something`;
结果和你在字符串中写的完全一样。
我的字符串变量本身没有这个问题,只有当字符串转换成html.
可以使用 replace
和正则表达式将空格转换为受保护的空格 replace(/ /g, '\xa0')
。
var a = 'something' + ' ' + 'something'
p1.innerHTML = a
p2.innerHTML = a.replace(/ /g, '\xa0')
<p id="p1"></p>
<p id="p2"></p>
顺便说一句,如果您在 contenteditable
中输入许多空格,它们将被翻译为空格和受保护空格的交替序列,您可以在此处尝试:
<p contenteditable onkeyup="result.value = this.innerHTML">put many space into this editable paragraph and see the results in the textarea</p>
<textarea id="result"></textarea>
在 ES6 中,您可以像这样构建字符串:
const a = `something ${'\xa0'.repeat(10)} something`
只需在` ` 之间添加任何 space 并使用 ${var}
打印变量