Подтвердить что ты не робот

Почему "Строка с одиночной кавычкой предпочтительна для строки с двойными кавычками". в js?

При использовании gjslint я получил подсказку: "Строка с одним кавычком предпочтительна по строке с двойными кавычками".

Так почему? Я немного смущен этим. Почему предпочтительным является одиночный кавычек?

Надеюсь помочь. Спасибо всем.

4b9b3361

Ответ 1

Это просто мнение.

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

Даже в Руководстве по стилю JavaScript JavaScript говорится, что одиночные кавычки предпочтительны, не приводя веских оснований:

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

(Далее он дает очень короткий пример строки, которая даже не включает HTML.)

Многие считают, что XHTML действителен только с двойными кавычками, но это неверно: спецификация XHTML позволяет. (Сказав, что 98% XML, с которым я столкнулся, включая XHTML, используют двойные кавычки.)

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

ОБНОВЛЕНИЕ: Просто помните, что JSON действителен только с двойными кавычками. Очевидно, JSON - это не JavaScript, но тем не менее это причина, по которой (а) некоторые могут предпочесть двойные кавычки в своем JavaScript, чтобы литералы объектов выглядели как JSON, и (б) некоторые могли бы предпочесть одиночные кавычки, чтобы они могли вручную кодировать JSON без чтобы избежать двойных кавычек. (Нет, я не рекомендую вручную кодировать JSON, но я это видел.)

Ответ 2

Если вы используете одиночные кавычки, вам не нужно избегать двойных кавычек в вашем html.

Например...

С одинарными кавычками вы можете сделать это

var a = '<a href="something.html" rel="yes" title="whatever">a link/a>';

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

var a = "<a href=\"something.html\" rel=\"yes\" title=\"whatever\">a link/a>";

Намного больше работы, сложнее в обслуживании и легче совершать ошибки.

Ответ 3

У моей клавиатуры есть клавиша "/", поэтому я могу легко ввести одну цитату, но мне нужно нажать shift для двойной кавычки.:)

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

Ответ 4

С точки зрения производительности, согласно http://jsperf.com, вы получаете почти такую ​​же производительность как в некоторых браузерах, так и в других, вы получаете то же самое производительность.

В jsperf много тестов, и все они получают почти тот же результат:

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

С уважением.