Разница между одинарными и двойными кавычками в Javascript [дубликат]


этот вопрос уже есть ответ здесь:

Я знаю, что в PHP единственное различие между двойными кавычками и одиночными кавычками-это интерпретация переменной внутри строки и обработка escape-символов.

В JavaScript, Я часто вижу двойные кавычки, используемые в строках. Есть ли какая-то особая причина для этого, или одиночные кавычки точно такие же, как двойные кавычки?

6 128

6 ответов:

вы хотите использовать одинарные кавычки, где вы хотите, чтобы двойные кавычки появлялись внутри строки (например, для атрибутов html) без необходимости их экранирования или наоборот. Кроме этого, нет никакой разницы.

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

абсолютно никакой разницы. СВОБОДНОЕ ЦИТИРОВАНИЕ YEEHHAAA

В отличие от PHP, для которого использование двойных или одинарных кавычек изменяет строка интерпретируется, нет никакой разницы в двух синтаксисах в ECMAScript. Строку с помощью двойных кавычек-точно так же, как строка с использованием одинарных кавычек. Обратите внимание, однако, что строка, начинающаяся с двойной кавычкой должен заканчиваться двойной кавычкой и строкой начало с одной кавычки должно заканчиваться одной кавычкой.

Nicholas C. Zakas-Профессиональный JavaScript для веб-разработчиков

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

Я нашел разницу. Я делаю мобильный сайт, но я в основном тестировал на настольном Firefox. Это прекрасно работает на Firefox:

var searchArray = searchValue.split(' '); // Split a string at the spaces.

но... он не работает на мобильном Safari (iPhone 3GS под управлением iOS 6.1). Чтобы заставить его работать на браузере Safari, вы должны использовать двойные кавычки:

var searchArray = searchValue.split(" "); // Split a string at the spaces.

Если вы не используете двойные кавычки, он не разбивается, он просто помещает всю строку в первый элемент массива. Это было настоящей загадкой для меня и заняло довольно много времени хотя, чтобы выяснить; я не знаю, что даже заставило меня попытаться переключить цитаты, потому что я думал, что они всегда должны действовать одинаково. Я ничего не нашел по этой проблеме, погуглив, так что, возможно, это поможет кому-то.