2015-12-18 7 views
0

Имеет ли одна кавычка (') или двойная кавычка (") функция, в которой они будут анализировать строку и заменить переменные значениями? Я помню, что в PHP механизм синтаксического анализа проанализирует строку и автоматически переключит любые переменные с их значениями (я не помню, что на самом деле имеет этот эффект с моей головы), поэтому вам не нужно вводить "somestring" + aVariable, используя конкатенация оператора . в том, что я прочитал до сих пор на http://www.tutorialspoint.com/jquery/jquery-basics.htm Я ничего не смог найти. Кроме того, если я не пропустил его, сообщение When to use double or single quotes in JavaScript? напрямую не охватывает эту информацию.Выполняет ли одиночная кавычка (') и двойная кавычка (") в jQuery, как в PHP?

+1

Duplicate here http://stackoverflow.com/questions/7027986/single-or-double-quotes-in-jquery – berkayk

+0

javascript позволяет использовать либо, что удобно, когда у вас есть цитаты, содержащие другие кавычки (вы используете один тип, чтобы заключить строку, а другой тип внутри) –

+0

Также дублируется здесь http://stackoverflow.com/questions/2373074/single-vs-double-quotes-vs – jered

ответ

1

Нет, нет такого понятия, как интерполяция переменных в JavaScript (и, следовательно, JQuery)

И это очень хорошая вещь! Хотя PHP имеет все переменные, идентифицированные $ с самого начала, JavaScript не работает. Таким образом, даже простая строка, такие как "Hello world!" может пойти наперекосяк, если вы имели переменную world ...

Вы можете быть заинтересованы в системе шаблонной, из которых есть много вариантов там - быстрый поиск Google повернет но here's список некоторых примеров и прочее.

+0

true. Я никогда не думал об этом. –

+0

, и именно поэтому строки шаблонов JS явно используют '$ {}' для маркировки битов, которые будут интерполированы. – Alnitak

2

Одиночные кавычки и двойные кавычки идентичны в JavaScript и не интерполируют переменные. По моему опыту, это хорошая практика придерживаться одинарных кавычек в JS, позволяя использовать двойные кавычки внутри этих строк (без экранирования) для таких вещей, как HTML-атрибуты.

Однако ES2015 ввел "template strings" с использованием кавычки, которые несколько как строки РНР в том, что они могут интерполировать в строку, и которые, если что-нибудь более мощное, потому что они на самом деле интерполировать любое выражение, а не только простой переменные:

let bar = 'bar'; 
let foo = `${bar}`; 
let FOO = `${bar.toUpperCase()}`; 
+1

Я не думаю, что буду считать это «хорошей практикой» *, поскольку в некоторых случаях одинарные кавычки на других языках предназначены только для символов. Скорее всего, это проще ввести. –

+0

@SpencerWieczorek Хорошо быть последовательным, хотя, и я говорил только о JS, а не о других языках. – Alnitak

+0

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

 Смежные вопросы

  • Нет связанных вопросов^_^