推荐关注
› Meteor
› JSLint - a JavaScript code quality tool
› jsFiddle
› D3.js
› WebStorm
推荐书目
› JavaScript 权威指南第 5 版
› Closure: The Definitive Guide
Senevan

做个调查,大家写 js 写分号么

  •  
  •   Senevan · Jun 13, 2016 · 13706 views
    This topic created in 3798 days ago, the information mentioned may be changed or developed.
    Twitter 上因为这个又吵起来了= =
    我先说,我一直写分号
    Supplement 1  ·  Jun 13, 2016

    感觉还是写的人比较多,大体上写的原因主要有:

    • 怕出错
    • 写过C、java所以习惯加分号
    • 不写感觉一行没结束

    聊这个主要是我在看vue源码的时候发现它是不加分号的,比较好奇

    Supplement 2  ·  Jun 13, 2016
    对了还有根据 linter 决定写不写= =
    110 replies  •  2016-06-14 13:13:20 +08:00
    1  2  
    ❮ ❯
    hxtheone
    hxtheone
    Jun 13, 2016❤️1
    1
    写
    DoraJDJ
    DoraJDJ
    Jun 13, 2016 via Android❤️1
    2
    之前写 Java 写习惯了,一直都写分号。
    如果没有分号很难判断这语句有完没完
    BOYPT
    BOYPT
    Jun 13, 2016
    3
    写。然后看了不写派的说法好像很有道理,但是我已经忘了道理是啥……代码里面继续写
    techme
    techme
    Jun 13, 2016
    4
    写习惯了,改不掉
    BGLL
    BGLL
    Jun 13, 2016
    5
    C++ 写习惯了,所以 JavaScript 也写分号
    然而 JavaScript 写了段时间,再写 C++ 发现其实时不时在漏分号.....
    broadliyn
    broadliyn
    Jun 13, 2016
    6
    var xxx=xxxxx; //写分号

    var fx = function(){

    } //不写

    $(xxx).on('click',function(){

    }); //写



    。。。。。 java 写惯了。。
    liqingcan
    liqingcan
    Jun 13, 2016
    7
    写
    liqingcan
    liqingcan
    Jun 13, 2016
    8
    不写总感觉少了点什么
    visonnn
    visonnn
    Jun 13, 2016
    9
    写啊

    主要是给自己看的
    Mutoo
    Mutoo
    Jun 13, 2016
    10
    写了一年 lua 之后,再写 javascript 就经常忘记写分号。
    qqqppp9998
    qqqppp9998
    Jun 13, 2016 via iPhone
    11
    不写
    johnhsm2333
    johnhsm2333
    Jun 13, 2016 via Android
    12
    不写了
    ceoimon
    ceoimon
    Jun 13, 2016
    13
    写与不写随意切换, Linter + formatter
    itlr
    itlr
    Jun 13, 2016
    14
    配好了 linting 自己就不需要特别关注了,习惯上是写的,忘记了 linting 工具能发现就可以。
    milklee
    milklee
    Jun 13, 2016
    15
    不写了
    Wangxf
    Wangxf
    Jun 13, 2016
    16
    写,不写感觉少了点啥,而且压缩 js 的时候避免出错
    ChiangDi
    ChiangDi
    Jun 13, 2016 via Android
    17
    本来是写得,后来经过仔细思考和实际体验之后决定不写了。
    yeyeye
    yeyeye
    Jun 13, 2016
    18
    Tampermonkey 会有警告 如果不写
    YUX
    YUX
    Jun 13, 2016
    19
    Linter 让写就写
    df4VW
    df4VW
    Jun 13, 2016
    20
    不写,然后 asi
    ericls
    ericls
    Jun 13, 2016 via iPhone
    21
    不写
    shisaq
    shisaq
    Jun 13, 2016
    22
    [jshint]( http://jshint.com/) 让写就写
    bumz
    bumz
    Jun 13, 2016
    23
    凡是可以写分号的地方,都会写

    比如

    var a = function() {

    };

    do {

    } while (true);

    这样的好处是不必耗费脑力纠结语句有没有结束(人工在大脑中执行一次自动分号插入的机制有点烧)

    以及那个自动分号插入的机制有点坑,比如

    (function() {console.log('a')})()
    (function() {console.log('a')})()

    就会报错

    (function() {console.log('a')})();
    (function() {console.log('a')})();

    则不会。

    因此任何时候都写分号好处巨大,省略分号流毒深远啊
    bitkwan
    bitkwan
    Jun 13, 2016 via Android
    24
    写啊… 写 php 习惯了… var 定义变量时都顺手加上 $了…然后又去了🌚👎
    zcbenz
    zcbenz
    Jun 13, 2016
    25
    写了好几年带分号的,转 Standard JS 以后就不带了。
    wwqgtxx
    wwqgtxx
    Jun 13, 2016 via Android
    26
    写,主要是用 idea 写的,不写分号编辑器回提示的
    flydogs
    flydogs
    Jun 13, 2016
    27
    不写总觉得别扭
    taijia
    taijia
    Jun 13, 2016 via Android
    28
    写,不然压缩后会出现莫名其妙的错
    qqmishi
    qqmishi
    Jun 13, 2016 via Android
    29
    写,不写等默认加的话有坑
    textworld
    textworld
    Jun 13, 2016
    30
    不写的话,代码压缩的时候不是会出错么
    aivier
    aivier
    Jun 13, 2016
    31
    不写的不是异教徒么?
    rekulas
    rekulas
    Jun 13, 2016❤️1
    32
    除非是想极限压缩,否则都应该补完的,不写也能正常执行是 js 引擎的编译纠正机制

    现在很多大牛貌似推荐不写分号的风格,但我觉得在这之前首先得解决部分结构不写分号会异常的问题吧
    sheep3
    sheep3
    Jun 13, 2016 via Android
    33
    写,习惯写 Java
    clino
    clino
    Jun 13, 2016
    34
    不写 不明白为什么要写
    moe3000
    moe3000
    Jun 13, 2016
    35
    既然是 javascript 就按照 java 的习惯来呗 doge
    metrue
    metrue
    Jun 13, 2016
    36
    自己是不写,可是公司的 eslint 统一配置,必须写。
    123s
    123s
    Jun 13, 2016
    37
    以前不写,后来写。不写有时候会有问题
    tobeyouth
    tobeyouth
    Jun 13, 2016
    38
    不写
    Rsl
    Rsl
    Jun 13, 2016
    39
    开始 ES2015 后就不写了. 看起来感觉舒服了不少.
    cloverstd
    cloverstd
    Jun 13, 2016
    40
    @Rsl 我也是,用 ES6 之后就不写分号了
    ayiis
    ayiis
    Jun 13, 2016
    41
    代码不是一个人写的,为了兼顾水平不一致的队友以及后来的维护者,写分号
    而又因为有几种情况是必须写分号的,所以统一在所有情况下,写分号
    Haku
    Haku
    Jun 13, 2016
    42
    不写,虽然很不爽不写,但我就是不写= =
    learnshare
    learnshare
    Jun 13, 2016
    43
    代码是给人看的,写。机器执行不管这些东西
    wbt
    wbt
    Jun 13, 2016
    44
    写。
    BruceYuan
    BruceYuan
    Jun 13, 2016
    45
    正常都写吧,哪怕是 python 入门也会写吧
    lixiaohan
    lixiaohan
    Jun 13, 2016
    46
    不写的话 有时候会犯一些很低级的错误,而且查错误的时候需要查半天, 到时候你就该骂自己蠢了,然后你就记住了, 以后就知道写了
    ljcarsenal
    ljcarsenal
    Jun 13, 2016
    47
    不写 webpack 自动生成。。。。
    当然 不用 webpack 的话还是写吧 低版本浏览器某些情况下会报错
    M4ster
    M4ster
    Jun 13, 2016
    48
    难道没人用 CoffeeScript ?
    cin
    cin
    Jun 13, 2016
    49
    不写, 没分号的代码看着舒服.
    raistlin916
    raistlin916
    Jun 13, 2016
    50
    写 react 的时候不写,其实还好
    smallpath
    smallpath
    Jun 13, 2016
    51
    单人项目写, lint 工具的话要我怎么办我就怎么办
    xcatliu
    xcatliu
    Jun 13, 2016
    52
    thinkmore
    thinkmore
    Jun 13, 2016
    53
    按照 java 的标准来写 js 写习惯了
    unknownservice
    unknownservice
    Jun 13, 2016
    54
    被坑一次之后现在强迫症必须要写...
    exoticknight
    exoticknight
    Jun 13, 2016
    55
    跟团队,跟项目,尽量写
    之前一直写,最近的 vue 项目因为官方脚手架没写于是跟着不写
    Arrowing
    Arrowing
    Jun 13, 2016
    56
    写,看别人不写很别扭。
    fds
    fds
    Jun 13, 2016
    57
    tslint 设置成 "semicolon": [true, "never"], 然后就再也不写分号了。
    之前用 coffeescript 也不写。
    pppanda
    pppanda
    Jun 13, 2016
    58
    以前写,现在不写了
    solodxg
    solodxg
    Jun 13, 2016
    59
    以前写的 后来 http://standardjs.com/ 不写了
    b821025551b
    b821025551b
    Jun 13, 2016
    60
    不写分号的是不是也不压缩呢
    yurivvvvv
    yurivvvvv
    Jun 13, 2016
    61
    写
    hkongm
    hkongm
    Jun 13, 2016
    62
    浏览器写
    node 不写了
    lk920724
    lk920724
    Jun 13, 2016
    63
    写
    panlilu
    panlilu
    Jun 13, 2016
    64
    airbnb 规范,写分号
    Strikeactor
    Strikeactor
    Jun 13, 2016
    65
    写
    zhenjiachen
    zhenjiachen
    Jun 13, 2016
    66
    写,不过有时候会忘记。
    rupert
    rupert
    Jun 13, 2016 via iPhone
    67
    好像说写分号的都没什么充分理由, 怕压缩出问题? 合格的压缩工具肯定会处理好分号问题的吧。 我只在( [ 前加分号,基本就碰到没什么问题了
    SuperMild
    SuperMild
    Jun 13, 2016
    68
    这才知道 Standard JS ,貌似不错啊, No configuration ,不用烦了。
    nullizer
    nullizer
    Jun 13, 2016
    69
    plqws
    plqws
    Jun 13, 2016
    70
    airbnb 规范,所以写
    SuperMild
    SuperMild
    Jun 13, 2016
    71
    Can you make rule X configurable?

    No. The point of _standard_ is to save you time by picking reasonable rules so you can spend your time solving actual problems. If you really do want to configure hundreds of _eslint_ rules individually, you can always use _eslint_ directly.
    xman99
    xman99
    Jun 13, 2016
    72
    初学的时候 老师说可以不用写的, 我觉得还是写的格式好
    VmuTargh
    VmuTargh
    Jun 13, 2016
    73
    写,不知道为什么每次调试总是提示没有分号不能用。

    @Mutoo 窝写 lua 也一直加分号,强迫症
    an168bang521
    an168bang521
    Jun 13, 2016
    74
    写;
    如果不写的话,会有这条代码没写完的感觉;
    kiwi95
    kiwi95
    Jun 13, 2016
    75
    写 Go 的时候不写,写 PHP 的时候写。。
    yhxx
    yhxx
    Jun 13, 2016❤️1
    76
    一直都是写几个字母然后 TAB ,编辑器帮我补了分号就有,不补就没有
    (我这样的是不是要被分号党和不加分号党一起吊打
    saberlily
    saberlily
    Jun 13, 2016
    77
    写啊
    Vonex
    Vonex
    Jun 13, 2016
    78
    写,善始善终。
    yujieyu7
    yujieyu7
    Jun 13, 2016
    79
    以前写,试过不写之后就回不去了,太爽了
    keenkiller
    keenkiller
    Jun 13, 2016
    80
    js 写啊…因为看起来很 C
    think2011
    think2011
    Jun 13, 2016
    81
    不再写了,因为看起来简洁,顺便提一下,如果不写问号,一定要注意在自运行函数前要加分号,不然要出错的。

    ```js
    let a = 1; // 不加分号要死

    (() => {
    console.log(a)
    })()
    ```
    cxbig
    cxbig
    Jun 13, 2016 via iPhone
    82
    IDE 自动补全,无所谓写不写。
    sxm
    sxm
    Jun 13, 2016
    83
    习惯写,我有强迫症
    wmhx
    wmhx
    Jun 13, 2016
    84
    以前写 js 很随便, 有时写有时不写,好像也无所谓, 最近做一个项目用 java 解释执行 js 片段, 不加分号各种错误,而且提示各种脑残,尤其是 var a=function(){} 这样的没有分号 java 解析提示都是什么鬼啊, 后来,后来, 后不来我就不干这个项目了.
    tanteng
    tanteng
    Jun 13, 2016
    85
    不写 IDE 老会提示,所以还是写
    fetich
    fetich
    Jun 13, 2016
    86
    公司项目看规定,个人练手看心情。
    ug888168
    ug888168
    Jun 13, 2016 via Android
    87
    习惯了写
    inet6
    inet6
    Jun 13, 2016
    88
    我习惯了写分号
    solome
    solome
    Jun 13, 2016
    89
    es6 风格的,不写~
    jason19659
    jason19659
    Jun 13, 2016
    90
    想起来就写。。忘了就。。反正也能跑起来。对吧
    EchoWhale
    EchoWhale
    Jun 13, 2016 via Android
    91
    不写,有 asi
    shyling
    shyling
    Jun 13, 2016
    92
    @BruceYuan 是不是还要写:
    lslqtz
    lslqtz
    Jun 13, 2016
    93
    @yhxx 打死打死 2333
    muyege
    muyege
    Jun 13, 2016
    94
    擦!写就写,不写就不写,骗分党!
    zyue
    zyue
    Jun 13, 2016
    95
    不写就难受斯基
    Wenwei
    Wenwei
    Jun 13, 2016
    96
    ES6 写着写着就不写分号了。

    已经习惯不写分号了。
    marshalYuan
    marshalYuan
    Jun 13, 2016
    97
    逗号哪里做的不好么,你们干嘛还要去找分号
    motai
    motai
    Jun 13, 2016
    98
    记得就写,忘了就算了
    xifangczy
    xifangczy
    Jun 13, 2016
    99
    不写难受...
    SourceMan
    SourceMan
    Jun 13, 2016 via iPhone
    100
    楼上好多一看就是项目没有上 eslint
    我写多年的分号,转 ES6 之后建议不写,改了规则,不到 2 个星期,就被纠正过来了
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4573 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 229ms · UTC 09:08 · PVG 17:08 · LAX 01:08 · JFK 04:08
    ♥ Do have faith in what you're doing.