В многих языках программирования есть heredoc-синтаксис для создания многострочных переменных, содержащих как одинарные кавычки, так и двойные. В JavaScript же явного определения heredoc нет. Как же быть?
Попробуем решить данный вопрос.
Как обстоят дела, например, в РНР?
Обычное определение строки в РНР:
<?php $s = 'Кавычки бывают \'одинарными\''; $t = "Кавычки бывают \"двойными\""; ?>
heredoc-определение в PHP:
<?php $s = <<<EOL Кавычки бывают 'одинарными' и "двойными". Да еще и в несколько строк. EOL; ?>
Что есть в JavaScript?
Обычно мы используем конкатенацию строк
var multiline = 'Первая строка'+ 'Вторая строка'+ 'Третья строка';
Второй вариант - экранирование переводов строк
var multiline = 'Первая строка\ Вторая строка\ Третья строка';
У данного метода наблюдаются проблемы с браузером Internet Explorer
Третий вариант - CDATA
var multiline = ""+<r><![CDATA[ Первая строка Вторая строка Третья строка ]]></r>;
У данного метода наблюдаются проблемы с браузером Internet Explorer, Google Chrome
Можно попробовать и так:
var multiline = <> Первая строка Вторая строка Третья строка </>.toString();
Как видите, вариантов несколько, какой из них выбрать дело ваше, но кроссбраузерный лишь первый из них (конкатенация строк).
RTFM
Похожие публикации:
- Визуальная шпаргалка: CSS совместимость с Internet Explorer 6, 7 и 8
В наши дни совместимость CSS-кода с различными браузерами стало очень важной задачей среди веб-дизайнеров и разработчиков. С каждой новой версией... - Internet Explorer: max-width без javascript и expressions
Предлагаю вам способ эмуляции max-width в IE6 на чистом CSS. Данный способ работает во всех современных браузерах без использования max-width,... - Очистка неудаляемых файлов из корзины
Бывают ситуации, когда стандартными средствами не удается очистить корзину. Такое случается, если вы создали файл с правами администратора, а удалить... - Релиз JetBrains PhpStorm 2.0
PhpStorm – триальная IDE на Java, предоставляет богатые и умные функции редактирования кода PHP с подсветкой синтаксиса, расширенным форматированием кода... - Релиз jQuery 1.6 Beta 1
jQuery — JavaScript библиотека (фреймворк), фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу...
