V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
lingyired
V2EX  ›  JavaScript

有谁能告诉我javascript 中的单引号和双引号有什么区别。。

  •  
  •   lingyired · 2012-07-14 11:08:42 +08:00 · 12877 次点击
    这是一个创建于 4516 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我经常混着用,感觉这习惯会让我以后丢了工作- -
    28 条回复    1970-01-01 08:00:00 +08:00
    Coda
        1
    Coda  
       2012-07-14 11:10:25 +08:00
    在html里有时候会冲突吧, 单引号双引号都遇到的时候., 建议还是统一一下比较好. 具体原因楼下大大回答.
    lingyired
        2
    lingyired  
    OP
       2012-07-14 11:14:33 +08:00
    @Coda 很难统一啊。
    你看我写的代码,短短几行里面就混了:
    icyflash
        3
    icyflash  
       2012-07-14 11:17:57 +08:00   ❤️ 1
    看情形

    比如 “I‘m here” 比'I\'m here' 好
    '<div class="demo">' 比 "<div class=\"demo\">" 好

    个人单引用的比较多,因为JSON里面要用到双引
    lhj2100
        4
    lhj2100  
       2012-07-14 11:23:19 +08:00
    javascript代码用双引号..字符串变量里有html属性时用单引号...
    lingyired
        5
    lingyired  
    OP
       2012-07-14 11:26:50 +08:00
    @icyflash 我一般很少用\' 这种形式的。。
    json 那块没接触过。。
    你的意思是如果要统一一下的话,最好选择单引号?


    @lhj2100 为啥呢
    shiny
        6
    shiny  
       2012-07-14 11:30:55 +08:00   ❤️ 1
    一、尽量不要用转义符
    二、在第一条的前提可以统一使用一个风格

    个人原因因为习惯PHP里的风格所以常用单引号

    无他尔
    lingyired
        7
    lingyired  
    OP
       2012-07-14 11:33:29 +08:00
    @shiny thx
    转义符很少用,根据三楼和你的解释,我也选择单引。

    因为以后可能会和json 打交道,php 的话建站时候用到
    avatasia
        8
    avatasia  
       2012-07-14 12:26:45 +08:00
    stackoverflow有这方面的文章,
    跟icyflash说的差不多,json里",其他地方尽量',转义的时候".
    lhj2100
        9
    lhj2100  
       2012-07-14 12:33:33 +08:00   ❤️ 1
    因为我们默认使用双引号
    再html标记是有<>进行闭合的.所以不容易出导致javascrip代码出现缺少引号..语句未结束这样的地级错误...
    lingyired
        10
    lingyired  
    OP
       2012-07-14 12:53:17 +08:00
    heroicYang
        11
    heroicYang  
       2012-07-14 19:47:46 +08:00
    JavaScript中推荐使用单引号。
    lingyired
        12
    lingyired  
    OP
       2012-07-14 20:49:02 +08:00
    gDD
        13
    gDD  
       2012-07-14 21:05:58 +08:00   ❤️ 1
    gDD
        14
    gDD  
       2012-07-14 21:06:30 +08:00
    lingyired
        15
    lingyired  
    OP
       2012-07-14 21:43:46 +08:00
    @gDD thx
    Chris_Ys
        16
    Chris_Ys  
       2012-07-17 04:01:29 +08:00
    推荐单引号,这样在大部分场合都能保持统一的风格且不影响阅读:

    <div onclick="alert('donot_do_this');">
    html = '<div data-text="space works">'
    document.querySelector('[data-text="space works"]')

    在前公司的时候讨论过这个问题,貌似传统后端(如 PHPer)倾向于双引号,理由是有安全问题,国外那位 CTO 大叔也是这么想的,具体细节忘了。
    dntc
        17
    dntc  
       2012-07-17 09:44:45 +08:00
    我也是全部用的单引号,如果字符串中有单引号才用双引号。眼花的时候可以避免把双引号看成两个单引号,而且可以少按一个shift键。
    IIssNan
        18
    IIssNan  
       2012-07-17 13:06:30 +08:00
    单引号不用多按shift键啊~~
    gouflv
        19
    gouflv  
       2012-07-17 16:52:01 +08:00
    看google的js规范
    GreatHan
        20
    GreatHan  
       2012-07-17 17:50:41 +08:00
    基本没啥区别,单引号里可以有双引号,双引号里可以有单引号,如果单引号里要有单引号要用斜杠转移,双引号同理
    fuxkcsdn
        21
    fuxkcsdn  
       2012-08-31 12:01:53 +08:00
    有自己的风格,然后坚持这个风格就行了
    我是习惯先双引,双引里再单引,单引里又需要引号的时候,再用转移的双引
    aaronmix
        22
    aaronmix  
       2012-08-31 12:08:40 +08:00
    没有区别,20楼解释的很详细了。
    遵循你项目里定好的规范就行。
    noahua
        23
    noahua  
       2012-09-01 20:32:22 +08:00
    基本没有区别,除了JSON里的键名必须用双引号以外,其他就看个人习惯了
    通常长字符串里包涵html属性的会用单引号,就不用转义了:
    '<div class="sample">Test</div>'
    meteor
        24
    meteor  
       2012-10-14 13:12:47 +08:00
    http://stackoverflow.com/q/242813/365479
    When to Use Double or Single Quotes in JavaScript

    我个人感觉是个人习惯问题。
    我喜欢用双引号,可能是看惯了Java代码的缘故。
    alsotang
        25
    alsotang  
       2012-10-14 13:15:48 +08:00
    没区别,只有方便不方便。
    推荐使用单引号,因为这样与标准的HTML、XML、JSON默认采用的双引号都不冲突。
    chone
        26
    chone  
       2012-10-15 06:23:34 +08:00
    从主流的各种framework来看单引号是最多被使用的,不过在性能和作用上两者没有差异。
    GreatHan
        27
    GreatHan  
       2012-10-15 11:05:12 +08:00
    双引号里可以又单引号,单引号里可以有双引号,双引号里要用双引号要转义,单引号同理
    leohxj
        28
    leohxj  
       2012-10-22 09:17:52 +08:00
    单引号里面可以直接使用双引号,单引号里使用单引号需要加上转义字符。反之同理。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   933 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:18 · PVG 06:18 · LAX 14:18 · JFK 17:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.