Javascript中的'',“”和没有引号是什么意思?

时间:2012-06-01 14:58:49

标签: javascript quotes evaluation double-quotes

我意识到我一直在他们之间切换而不理解为什么,并且发现很难搜索。

4 个答案:

答案 0 :(得分:16)

' '" "是一回事;它们用于定义字符串文字。

没有引号的东西可以是标识符,关键字,非字符串文字,属性名称或数字(可能错过了一个)。

示例:

"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

答案 1 :(得分:6)

' '" "用于引用字符串文字并表示字符串(s)而不带引号的文字是变量(变量名称,常量),称为标识符,示例

variable = 'Hello'; (Here `variable` is identifier and 'Hello' is string literal)


var = "Ho There"

您可能会质疑' (single quote)" (Double quote)

之间的区别

区别在于,"中的字符串如果具有特殊字符,则需要转义。示例:

变量=“hi”那里“; ---&gt;这里你需要转义"里面的字符串

Variable = "hi \" there"; 

但是如果使用'则不需要转义(除非字符串中有额外的')。你可以像

一样
var = 'Hello " World"';

答案 2 :(得分:5)

"'可以互换(但需要一起使用)。

myObject["property"]myObject.property也可以互换。 $var foo = "property"; myObject[foo]也是如此(以下评论)。

答案 3 :(得分:0)

快速的jsfiddle和单引号和双引号转义控制代码等。

在后来的几天里,我遇到了HTML中没有使用双引号的错误,如果你查看JSON的规范,你会注意到引用字符串文字时会引用双引号。因此,出于历史原因,我认为它是双引号。

然而!在编写服务器端JS的这些日子里,我必须承认我倾向于回到我的C根和双引号,我想要转义字符和单引号字符串,这些字符串实际上是文字字符,并且永远不可能包含转义字符(即使这是基本上是非生产性行为)。除此之外,我现在的大多数JS都是coffeescript,没有人为了优雅而写过javascript,但CS是不同的水壶。