Я понял, что переключаюсь между ними, не понимая почему, и мне трудно это искать.
Что означает ", и, и отсутствие кавычек в Javascript?"
Ответы (4)
' '
и " "
- это одно и то же; они используются для определения строковых литералов.
Вещи без кавычек могут быть идентификатором, ключевым словом, нестроковым литералом, именем свойства или числом (возможно, он пропустил).
Примеры:
"hello world" literal (string)
'hello world' literal (string) with same contents
document identifier (object)
{ a: 1 } property name
if keyword (start conditional statement)
3.4 literal (number)
/abc/ literal (regex object)
Строковые литералы, заключенные в одинарные кавычки, не нуждаются в экранированных двойных кавычках и наоборот, например:
'<a href="">click me</a>' HTML containing double quotes
"It's going to rain" String containing single quote
' '
и " "
используются для заключения строкового литерала в кавычки и представляют строку (строки), тогда как литерал без кавычек - это переменные (имя переменной, константа), известные как идентификатор, пример
variable = 'Hello'; (Here `variable` is identifier and 'Hello' is string literal)
var = "Ho There"
Вы можете спросить, в чем разница между ' (single quote)
и " (Double quote)
Разница в том, что строки в "
, если имеют специальный символ, их нужно экранировать. Пример:
Variable = "hi" there "; ---> здесь нужно экранировать "
внутри строки, например
Variable = "hi \" there";
Но если используется '
, тогда не нужно экранировать (если в строке нет лишнего '
). Ты можешь любить
var = 'Hello " World"';
"
и '
взаимозаменяемы (но должны использоваться вместе).
myObject["property"]
и myObject.property
также взаимозаменяемы. $var foo = "property"; myObject[foo]
(см. Комментарий ниже).
myObject[property]
получает свойство myObject, названное со значением свойства
- person pbfy0; 01.06.2012
Быстрый jsfiddle и управляющие коды одиночных и двойных кавычек и т. Д.
В последнее время у меня были ошибки из HTML, где не использовались двойные кавычки, и если вы посмотрите спецификацию для JSON вы заметите, что при цитировании строковых литералов запрашиваются двойные кавычки. Я думаю, что по историческим причинам принято использовать двойные кавычки.
Тем не мение! В эти дни написания JS на стороне сервера я должен признать, что меня склонны возвращать к своим корням C и двойным кавычкам, где мне нужны экранированные символы и строки одинарных кавычек, которые фактически являются буквальными символами и никогда не могут содержать экранированные символы (хотя это существенно непродуктивное поведение). Помимо того, что большая часть моего JS в настоящее время является coffeescript, никто никогда не писал javascript для элегантности, хотя CS - это другой котел с рыбой.
""
или''
, это не имеет значения (выберите тот, который заставляет вас избегать меньше ("Mr. O'Neil"
или'I said "hi"'
). Числа не нужно заключать в кавычки, например12
. - person Rocket Hazmat   schedule 01.06.2012