|
Двойные или одинарные кавычки?
Некоторые языки программирования по-разному обрабатывают строки в двойных и одинарных кавычках (например, PHP), поэтому применение тех или иных имеет определенный смысл в разных ситуациях. В Java допускаются только двойные кавычки, поэтому тут выбора нет. А в нашем с вами JavaScript можно использовать как двойные, так и одинарные, причем без всякой функциональной разницы.
По поводу того какие кавычки использовать предпочтительнее в JavaScript никакая конвенция не указывает (или же я не нашел). Хотелось бы услышать обоснованные аргументы в пользу или против тех или иных кавычек. PS. Также можно обсудить размер отступов (4 пробела против 2) и "пробелы против табуляций". |
jQuery использует двойные, но большинство других библиотек и фреймворков использует одинарные. Вот например создатель Node.js почему-то категорически против двойных кавычек.
|
|
Я люблю одинарные кавычки. Не знаю почему. Просто нравятся и всё. Пока всё работает (и я надеюсь будет работать и потом).
|
В JS обычно использую одинарные кавычки. Сложно сказать почему, просто привык.
По поводу отступов, 1 пробел. Это быстрее чем 2 пробела и меньше чем один таб => выглядит как-то эстетичнее |
Лично для меня строковые значения в одинарных кавычках в скриптах выглядят эстетичнее, а в двойных, действительно, стало привычнее видеть значения атрибутов тегов.
А вот насчёт пробелов и табуляций, я однозначно за два пробела, табуляции - это ужасно каждый раз перелистывать влево-вправо, чтобы посмотреть код. |
я начал ненавидить табы, когда у меня код поплыл при коммите в гит.\ плыл, когда я постил его на форум. после этого я всегда пишу пробелами, и я уверен, что оно будет везде выглядеть одинаково.
кстати, давайте взвесим количество "пустого места" в отступах. кому как нравится, 4 пробела, или 2 пробела? какие "за" и "против"? для удобства сравнения, приведу оба стиля тут. код взят из jQuery. Пример: 4 символа
// Fire callbacks fire = function (data) { memory = options.memory && data; fired = true; firingIndex = firingStart || 0; firingStart = 0; firingLength = list.length; firing = true; for (; list && firingIndex < firingLength; firingIndex++) { if (list[firingIndex].apply(data[0], data[1]) === false && options.stopOnFalse) { memory = false; // To prevent further calls using add break; } } firing = false; if (list) { if (stack) { if (stack.length) { fire(stack.shift()); } } else if (memory) { list = []; } else { self.disable(); } } } Пример: 2 символа
// Fire callbacks fire = function (data) { memory = options.memory && data; fired = true; firingIndex = firingStart || 0; firingStart = 0; firingLength = list.length; firing = true; for (; list && firingIndex < firingLength; firingIndex++) { if (list[firingIndex].apply(data[0], data[1]) === false && options.stopOnFalse) { memory = false; // To prevent further calls using add break; } } firing = false; if (list) { if (stack) { if (stack.length) { fire(stack.shift()); } } else if (memory) { list = []; } else { self.disable(); } } } *трудно решить, что удобнее :)* кавычки употребляю обоих видов. чаще всего одинарные, но когда нужно делать конкатенацию, то юзаю двойные (их лучше видно) |
melky,
Я вообще за 1 пробел. |
Пробел является наверное самым используемым символом, для тех, кто нормально печатает всеми пальцами (рук), проблем с тем, чтобы нажать два раза большим пальцем по пробелу возникать не должно.
Смысла использовать 4 пробела вообще не видно (и читабельность, на мой взгляд, хуже), 1 пробел всё-таки, также, на мой взгляд менее читабельно, у кого проблема с лишними пробелами, то это проблема в первую очередь сред разработки, а потом уже разработчика. 2 пробела самое милое дело (читабельно, аккуратно и глазом контролируемо), а табуляция это вообще плохой стиль оформления кода, но в принципе каждому своё. |
Я пробелы на протяжении всей работы над скриптом вообще не ставлю, потому что не путаюсь где что и как. А когда заканчиваю, иду в jsbeutefer.com (название сайта может неправильное, в гугле забейте) И там уже все настроиваю.
Насчет кавычек: обычно ставлю одиночные, но при таком случае ,например: eval("document.getElementById('asd')"); Так красивее чтоли... |
Часовой пояс GMT +3, время: 22:59. |
|