Одинарные и двойные кавычки ('vs ")



Я всегда использовал одинарные кавычки при написании моего HTML вручную. Я работаю с большим количеством визуализированного HTML, который всегда использует двойные кавычки. Это позволяет мне определить, был ли HTML написан вручную или сгенерирован. Это хорошая идея?



в чем разница между ними? Я знаю, что они оба работают и поддерживаются всеми современными браузерами, но есть ли реальная разница, где на самом деле лучше, чем другие в разных ситуациях?

996   15  

15 ответов:

W3 org сказал:

по умолчанию SGML требует, чтобы все значения атрибутов были разделены либо двойными кавычками (ASCII decimal 34), либо одинарными кавычками (ASCII decimal 39). Одинарные кавычки могут быть включены в значение атрибута, если значение заключенной в двойные кавычки, и наоборот. Авторы могут также использовать ссылки на числовые символы для представления двойных кавычек (") и одинарные ('). Для двойника цитаты авторы также могут использовать ссылку на сущность символа ".

Так... вроде бы никакой разницы. Только зависит от вашего стиля.

Я использую " в качестве верхнего уровня и ' как второй уровень, как я полагаю, большинство людей делают. Например

<a href="#" onclick="alert('Clicked!');">Click Me!</a>

в этом примере вы должны использовать оба, это неизбежно.

цитирование соглашений для веб-разработчиков

Короткий Ответ:

в HTML использование одинарных кавычек ( ') и двойных кавычек ( " ) взаимозаменяемы, нет никакой разницы.

но согласованность рекомендуется, поэтому мы должны выбрать синтаксическое соглашение и использовать его регулярно.

Длинный Ответ

Веб-Разработки часто состоит из многих языков программирования. HTML, JS, CSS, PHP, ASP, RoR, Python, ect. Потому что из этого у нас есть много синтаксических соглашений для разных языков программирования. Зачастую привычек из одного языка в другие языки, даже если это не считается "правильной", т. е. конвенций комментирования. Цитирование конвенций также попадает в эту категорию для меня.

но я склонен использовать HTML плотно в сочетании с PHP. А в PHP есть майор разница между одинарными и двойными кавычками. В PHP с двойными кавычками " можно вставлять переменные непосредственно в тексте строки". (scriptingok.com) и при использовании одинарных кавычек "текст выглядит как есть". (scriptingok.com)

PHP занимает больше времени для обработки строк в двойных кавычках. Поскольку парсер PHP должен прочитать всю строку заранее, чтобы обнаружить любую переменную внутри-и объединить ее-требуется больше времени для обработки, чем одна строка в кавычках. (scriptingok.com)

одинарные кавычки проще на сервере. Поскольку PHP не нужно читать всю строку заранее, сервер может работать быстрее и счастливее. (scriptingok.com)

другие вещи, чтобы рассмотреть

  1. частота двойных кавычек в строку. Я считаю, что мне нужно использовать двойные кавычки (") в моих строках чаще, чем мне нужно использовать одинарные кавычки (') в строках. Чтобы уменьшить количество побегов символов, я предпочитаю одинарную кавычку ограничители.
  2. проще сделать одну цитату. Это довольно понятно, но чтобы прояснить, почему нажмите клавишу SHIFT больше раз, чем вам нужно.

Мой

С этим пониманием PHP я установил Соглашение (для себя и остальной части моей компании), что строки должны быть представлены в виде одинарных кавычек по умолчанию для оптимизации сервера. Двойные кавычки используются в строке, если требуются кавычки, такие как JavaScript внутри атрибута, например:

<button onClick='func("param");'>Press Me</button>

конечно, если мы находимся в PHP и хотим, чтобы парсер обрабатывал переменные PHP в строке, мы должны намеренно использовать двойные кавычки. $a='Awesome'; $b = "Not $a";

источник

одинарные кавычки против двойных кавычек в PHP. (Н.д.). Восстановлено 26 ноября 2014 года, из http://www.scriptingok.com/tutorial/Single-quotes-vs-double-quotes-in-PHP

Если это все равно, возможно, использование одинарных кавычек лучше, так как для этого не требуется удерживать клавишу shift. Меньше нажатий клавиш = = меньше шансов RSI.

в HTML я не верю, что это имеет значение, используете ли вы " или ', но он должен использоваться последовательно во всем документе.

мое собственное использование предпочитает, чтобы атрибуты / html использовали ", тогда как все javascript использует ' вместо.

это делает его немного легче для меня, чтобы прочитать и проверить. Если ваше использование имеет для вас больше смысла, чем мое, нет необходимости в изменениях. Но, для меня, ваш код будет чувствовать лажа. Это личное все.

на самом деле, лучший способ-это то, как рекомендует Google. Двойные кавычки: https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Quotation_Marks#HTML_Quotation_Marks

см https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Validity#HTML_Validity Цитируемый совет от Google: "использование допустимого HTML-это измеримый базовый атрибут качества, который способствует изучению технических требований и ограничений, и что обеспечивает правильное использование HTML."

Я знаю много люди не согласились бы, но это то, что я делаю, и мне действительно нравится такой стиль кодирования: я на самом деле не использую никаких цитат в HTML, если это абсолютно необходимо.

пример:

<form method=post action=#>
<fieldset>
<legend>Register here: </legend>
  <label for=account>Account: </label>
  <input id=account type=text name=account required><br>
  <label for=password>Password: </label>
  <input id=password type=password name=password required><br>
...

двойные кавычки используются только тогда, когда в значениях атрибутов есть пробелы или что-то еще:

<form class="val1 val2 val3" method=post action=#>
  ...
</form>

У меня была проблема с использованием Bootstrap, где использование двойных кавычек имело значение против использования одинарной кавычки (которая не работала). class= 'row-fluid' дал мне проблемы, из-за которых последний пролет упал ниже других пролетов, а не сидел рядом с дальним правым, тогда как class="row-fluid" работал.

использование двойных кавычек для HTML

т. е.

<div class="colorFont"></div>

использование одинарных кавычек для JavaScript

т. е.

$('#container').addClass('colorFont');
$('<div class="colorFont2></div>');

Если вы пишете asp.net затем иногда вам приходится использовать двойные кавычки в операторах Eval и одинарные кавычки для разграничения значений - это в основном так, что встроенный код C# знает, что он использует строку в контейнере eval, а не символ. Лично я бы использовал только один или другой в качестве стандарта и не смешивал их, это выглядит грязно, вот и все.

используя "вместо' Если:

<input value="user"/> //Standard html
<input value="user's choice"/> //Need to use single quote
<input onclick="alert('hi')"/> //When giving string as parameter for javascript function

используя вместо " когда:

<input value='"User"'/> //Need to use double quote
var html = "<input name='username'/>" //When assigning html content to a javascript variable

Я новичок здесь, но я использую одинарную кавычку только тогда, когда я использую двойную кавычку внутри первого. Если я не ясно, я покажу вам пример:

<p align="center" title='One quote mark at the beginning so now I can
"cite".'> ... </p>

надеюсь, я помог.

это не имеет никакого значения для html, но если вы генерируете html динамически с другим языком программирования, то один способ может быть проще, чем другой.

например Java двойная кавычка используется для указания начала и конца строки, поэтому, если вы хотите включить двойную кавычку в строку, вы должны избежать ее с обратной косой чертой.

String s = "<a href=\"link\">a Link</a>"

у вас нет такой проблемы с одинарной кавычкой, поэтому используйте одинарную кавычку делает для более читаемого кода в Java.

String s = "<a href='link'>a Link</a>"

особенно если вам нужно написать html-элементы со многими атрибутами.(Примечание Я обычно использую библиотеку, такую как jhtml для записи html на Java, но не всегда практично это делать)

в PHP использование двойных кавычек приводит к небольшому снижению производительности, потому что имена переменных оцениваются, поэтому на практике я всегда использую одинарные кавычки при написании кода:

echo "This will print you the value of $this_variable!";
echo 'This will literally say $this_variable with no evaluation.';

Так что вы можете вместо того, чтобы написать это:

echo 'This will show ' . $this_variable . '!';

Я считаю, что Javascript работает аналогично, поэтому очень небольшое улучшение производительности, если это имеет значение для вас.


кроме того, если вы посмотрите весь путь до HTML spec 2.0, все теги перечислены вот;

W3 HTML DTD Reference

(используйте двойные кавычки.) Последовательность важна независимо от того, что вы склонны использовать чаще.

двойные кавычки используются для строк (например, "это строка") и одинарные кавычки используются для персонажа (т. е. 'А', 'Б' или 'C'). В зависимости от языка программирования и контекста вы можете использовать двойные кавычки для символа, но не одинарные кавычки для строки.

HTML не заботится о том, какой из них вы используете. Однако, если вы пишете HTML внутри PHP-скрипта, вы должны придерживаться двойных кавычек, поскольку вам нужно будет избежать их (т. е. "что угодно"), чтобы избежать запутаться и PHP.

Comments

    Ничего не найдено.