Многострочный текст JavaScript - PullRequest
4 голосов
/ 16 января 2009

У меня длинный фрагмент HTML-кода. Я хочу, чтобы какая-то переменная javascript была равна, и для удобства обслуживания я хочу сохранить ее с реальными символами новой строки вместо добавления \ n (или, поскольку это HTML, просто без символов новой строки). В Python я бы сделал что-то вроде:

largeString = """Hello
This is long!"""

И это будет прекрасно работать. Однако я не видел способа сделать это в JavaScript.

Некоторая дополнительная информация: javascript находится во внешнем файле .js, а фрагмент кода действительно довольно большой (~ 6 КБ).

Ответы [ 3 ]

9 голосов
/ 16 января 2009

Поставьте \ в конце каждой строки. Либо сохраните его в div с display: none, а затем используйте .html (), чтобы получить его

3 голосов
/ 16 января 2009

JavaScript не поддерживает многострочные строки таким же образом.

Вы можете использовать \ для экранирования новой строки для вашего скрипта, но это только для чтения разработчиком, так как оно не останется со строкой (и большинство валидаторов будут выдавать за нее ошибки). Чтобы сохранить новую строку вместе со строкой, вам все равно потребуется использовать \n.

Если вы хотите удобочитаемости, вы можете объединить их:

var largeString = '"Hello\n\
This is long!"';
0 голосов
/ 23 ноября 2010

Это будет работать в Firefox, IE, Safari и Chrome:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<div class="crazy_idea" largeString='Hello
This is long!'
></div>
<script type="text/javascript">
    alert($(".crazy_idea").attr("largeString"));
</script>
...