Single vs Double quotes ('vs ")

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

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

Ответ 1

w3 org сказал:

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

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

Ответ 2

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

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

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

Ответ 3

Котировки для веб-разработчиков

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

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

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

Длительный ответ

Веб-разработка часто состоит из многих языков программирования. HTML, JS, CSS, PHP, ASP, RoR, Python, ect. Из-за этого у нас есть много соглашений синтаксиса для разных языков программирования. Часто habbits с одного языка будут следовать за нами на другие языки, даже если это не считается "надлежащим", т.е. Комментирует соглашения. Котировочные соглашения также относятся к этой категории для меня.

Но я часто использую 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

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

Собственно, лучший способ - это то, как рекомендует 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 Quoted Advice from Google: "Использование допустимого HTML - это измеримый атрибут качества базовой линии, который способствует изучению технических требований и ограничений и обеспечивает надлежащее использование HTML".

Ответ 7

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

то есть.

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

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

то есть.

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

Ответ 8

Я знаю, что LOTS людей не согласятся, но это то, что я делаю, и мне действительно нравится такой стиль кодирования: на самом деле я не использую цитаты в 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>

Ответ 9

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

Ответ 10

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

Ответ 11

Использование "вместо", когда:

<input value="user"/> //Standard html
<input value="user 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

Ответ 12

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

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

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

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

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

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

Ответ 13

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

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

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

Ответ 14

В 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

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

Ответ 15

Для строк используются двойные кавычки (т.е. "это строка" ), а для символа используются одинарные кавычки (т.е. "a", "b" или "c" ). В зависимости от языка программирования и контекста вы можете избежать использования двойных кавычек для символа, но не одинарных кавычек для строки.

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