Как создать строку с несколькими пробелами в JavaScript
Создавая переменную
var a = 'something' + ' ' + 'something'
Я получаю это значение: 'something something'
,
Как я могу создать строку с несколькими пробелами на нем в JavaScript?
7 ответов
Использование \xa0
- это не пробойный символ
Ссылку из таблицы кодировки UTF-8 и символов Юникода вы можете написать так:
var a = 'something' + '\xa0\xa0\xa0\xa0\xa0\xa0\xa0' + 'something';
var a = 'something' + Array(10).fill('\xa0').join('') + 'something'
номер внутри Array(10)
можно изменить на необходимое количество пробелов
Использование
Это сущность, используемая для представления неразрывного пробела. По сути, это стандартное пространство, основное отличие в том, что браузер не должен разбивать (или переносить) строку текста в той точке, которую он занимает.
var a = 'something' + '         ' + 'something'
Неразрывный пробел
Общим символьным объектом, используемым в HTML, является неразрывный пробел (& nbsp;).
Помните, что браузеры всегда будут обрезать пробелы в HTML-страницах. Если вы напишите в своем тексте 10 пробелов, браузер удалит 9 из них. Чтобы добавить реальные пробелы к вашему тексту, вы можете использовать & nbsp; персонаж персонажа.
http://www.w3schools.com/html/html_entities.asp
демонстрация
var a = 'something' + '         ' + 'something';
document.body.innerHTML = a;
С помощью шаблонных литералов вы можете использовать несколько пробелов или многострочные строки и интерполяцию строк. Шаблонные литералы - это новая функция ES2015 / ES6, которая позволяет работать со строками. Синтаксис очень прост, просто используйте обратные кавычки вместо одинарных или двойных кавычек:
let a = `something something`;
а для создания многострочных строк просто нажмите Enter, чтобы создать новую строку без специальных символов:
let a = `something
something`;
Результаты точно такие же, как и в строке.
В ES6 вы можете создавать такие строки:
const a = `something ${'\xa0'.repeat(10)} something`
Просто добавьте пробел между ` ` и напечатайте переменные внутри с помощью ${var}
Вы можете использовать <pre>
пометить с помощью innerHTML. HTML <pre>
Элемент представляет собой предварительно отформатированный текст, который должен быть представлен точно так, как написано в файле HTML. Текст обычно отображается с использованием непропорционального ("моноширинного") шрифта. Пробелы внутри этого элемента отображаются как написано. Если вы не хотите другой шрифт, просто добавьте pre
в качестве селектора в вашем файле CSS и стилизуйте его по желанию.
Пример:
var a = '<pre>something something</pre>';
document.body.innerHTML = a;
У меня нет этой проблемы с самой строковой переменной, но только когда строка преобразуется в html.
Можно использовать
replace
и регулярное выражение для перевода пробелов в защищенные пространства
replace(/ /g, '\xa0')
.