在查找jquery示例时,我看到作者倾向于使用'或'来封闭选择器,例如。
如:
$('#tags')。点击......
或
$( “#标签”)。点击
这是个人风格的东西,还是有理由为什么一个比另一个好?
根据我的简短经验,我发现'打字速度更快。此外,构建json参数更容易,因为“因为你可以轻松地逃脱”字符串。
答案 0 :(得分:5)
我主要使用'用于Javascript字符串。推理是绝大多数HTML / XML标记使用“用于属性值。有些属性包含Javascript,例如onclick。其中一些javascript包含字符串文字。因此这些字符串文字最好用'分隔。'因此我保持所有Javascript一致并且“尽我所能”。
答案 1 :(得分:3)
Python提供完全相同的选择(单引号或双引号是等价的),我的偏好与你的一样,是单引号 - “更少的像素”(更简洁的外观)是我合理化的方式;-)。一个例外是必须在字符串文字中包含大量单引号的代码(例如"O'Brian"
等名称,或者更实际地,包含"SELECT foo FROM bar WHERE baz='zapzap'"
等SQL查询字符串。
答案 2 :(得分:2)
对于Javascript,它只是首选项 - 字符串的处理方式不同,因为它们在PHP等其他语言中。通常,你选择一个你不必逃避的那个。
然而,JSON是不同的。重要的是要记住,JSON与Javascript没有100%的同等性 - 它是Javascript的一个子集,其格式更加严格和有限。和according to the spec,用双引号分隔字符串。
这意味着
{ foo : 'bar' }
是有效的Javascript,但不是有效的JSON。上述对象的有效JSON是此
{ "foo" : "bar" }
答案 3 :(得分:1)
为了与java约定保持一致,我使用“for strings and”代表字符(字符串长度为1)。
答案 4 :(得分:1)
我习惯在大多数时候在PHP中键入单引号。应该更快,因为它不必解析单引号中包含的变量。它也更容易打字,而且看起来更“干净”。所以我在编写JS时采用了单引号用法,据我所知,这只是一种风格差异。
答案 5 :(得分:0)
使用“而不是”的一个很好的理由是,如果你有一个包含'你可以使用'的字符串文字,以避免使用转义字符。当你有一个包含“。
的字符串文字时,反之亦然答案 6 :(得分:0)
从偶尔使用一种语言在另一种语言中编写代码的人的观点来看,使用单引号是可取的。例如,当我使用VB6驱动Octave或Agena时(就像我昨天所做的那样),我必须使用doubled双引号来逃避单个双引号。例如,
T "CACos", CACos(CReset(-P_I, 2)), CParse(script("octave", str.Subst("printf(""%s"",num2str(acos(complex([1],[2]))));", -P_I, 2)))
如果我驾驶Javascript,我会使用单引号选项。