javascript

В многих языках программирования есть 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

Похожие публикации:

  1. Визуальная шпаргалка: CSS совместимость с Internet Explorer 6, 7 и 8
    В наши дни совместимость CSS-кода с различными браузерами стало очень важной задачей среди веб-дизайнеров и разработчиков. С каждой новой версией...
  2. Internet Explorer: max-width без javascript и expressions
    Предлагаю вам способ эмуляции max-width в IE6 на чистом CSS. Данный способ работает во всех современных браузерах без использования max-width,...
  3. Очистка неудаляемых файлов из корзины
    Бывают ситуации, когда стандартными средствами не удается очистить корзину. Такое случается, если вы создали файл с правами администратора, а удалить...
  4. Релиз JetBrains PhpStorm 2.0
    PhpStorm – триальная IDE на Java, предоставляет богатые и умные функции редактирования кода PHP с подсветкой синтаксиса, расширенным форматированием кода...
  5. Релиз jQuery 1.6 Beta 1
    jQuery — JavaScript библиотека (фреймворк), фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу...

Теги: ,

Оставить комментарий

При написании кода в комментариях вы можете использовать Zen Coding для быстрого ввода HTML.