Одинарные и двойные кавычки ('vs ")
Я всегда использовал одинарные кавычки при написании моего HTML вручную. Я работаю с большим количеством визуализированного HTML, который всегда использует двойные кавычки. Это позволяет мне определить, был ли HTML написан вручную или сгенерирован. Это хорошая идея?
в чем разница между ними? Я знаю, что они оба работают и поддерживаются всеми современными браузерами, но есть ли реальная разница, где на самом деле лучше, чем другие в разных ситуациях?
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)
другие вещи, чтобы рассмотреть
- частота двойных кавычек в строку. Я считаю, что мне нужно использовать двойные кавычки (") в моих строках чаще, чем мне нужно использовать одинарные кавычки (') в строках. Чтобы уменьшить количество побегов символов, я предпочитаю одинарную кавычку ограничители.
- проще сделать одну цитату. Это довольно понятно, но чтобы прояснить, почему нажмите клавишу 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, все теги перечислены вот;
(используйте двойные кавычки.) Последовательность важна независимо от того, что вы склонны использовать чаще.
двойные кавычки используются для строк (например, "это строка") и одинарные кавычки используются для персонажа (т. е. 'А', 'Б' или 'C'). В зависимости от языка программирования и контекста вы можете использовать двойные кавычки для символа, но не одинарные кавычки для строки.
HTML не заботится о том, какой из них вы используете. Однако, если вы пишете HTML внутри PHP-скрипта, вы должны придерживаться двойных кавычек, поскольку вам нужно будет избежать их (т. е. "что угодно"), чтобы избежать запутаться и PHP.
Comments