JavaScript对象文本中的单引号
我正在看Google Maps API教程,我看到了以下内容:JavaScript对象文本中的单引号,javascript,html,Javascript,Html,我正在看Google Maps API教程,我看到了以下内容: <script type="text/javascript" src="http://www.google.com/jsapi?autoload={'modules':[{name:'maps', version:3, other_params:'sensor=false'}]}"></script> 为什么模块用单引号括起来?最好用引号括起来,即使不是严格要求的,以避免与代码冲突的可
<script type="text/javascript"
src="http://www.google.com/jsapi?autoload={'modules':[{name:'maps', version:3, other_params:'sensor=false'}]}"></script>
为什么
模块
用单引号括起来?最好用引号括起来,即使不是严格要求的,以避免与代码冲突的可能性
想象一下,如果您使用的是class
而不是modules
-class
在JavaScript中恰好是一个保留字,即使它在当前规范中没有实际使用。事实上,在大多数实现中(因为它实际上是一个JSON字符串),就像jQuery一样,必须放置所有字符串,无论它们代表值还是属性,都用双引号括起来。除非:
@stone如果你对Daniel的回答感到满意,你应该点击左边的绿色勾号来接受它。@MathiasBynens:我不想说保留作品是无效的标识符名称。只是通常认为将密钥括在引号中是一种好的做法(特别是为了与ES3的向后兼容性)。@DanielVassallo足够公平。请注意,在ES5中,情况已不再如此。(另外,ES3中的保留字与ES5中的保留字不同。)“双引号”是JSON的正确方式,因为它们在JSON规范中是必需的。