
1 think2011 2015-12-03 13:07:50 +08:00 早期写过 coffeescript ,算是养成了简洁的习惯,现在靠 webstorm 的默认格式约束。 |
2 think2011 2015-12-03 13:09:26 +08:00 想表达的是说,因为现在主要的编辑器是 webstorm ,如果缺少分号 webstorm 会提示的,所以我就靠 webstorm 的默认格式化。 |
3 lion9527 2015-12-03 13:24:02 +08:00 带吧,不过我是业余玩票的。看的书上是建议带。 ES6 还不熟。 |
4 otakustay 2015-12-03 13:27:48 +08:00 最近在着手做公司的编码规范, ES6 如果使用全带分号的写法的话,在 ES7 的 Decorator 上会遇上不小麻烦 如果选全不带分号的话,在对象字面量里遇到 Computed Property Key 的时候会遇上些麻烦 所以简单来说就是, ES 垃圾! |
5 Rice 2015-12-03 13:28:10 +08:00 via Android 多大的事这也问 |
7 otakustay 2015-12-03 13:30:54 +08:00 上面有点说错,不是对象字面量里遇到 Computed Property Key ,是在 Decorator 撞上一个 Computed Property Key 的时候 大部分情况下是没关系的,只有下一条语句是以[或者(起始的时候,上面才必须分号结束,但这种语句太少太少 |
8 FrankFang128 2015-12-03 13:34:36 +08:00 按你的团队规范来! 反正我是不带的。 |
9 FrankFang128 2015-12-03 13:35:39 +08:00 @otakustay 那就很简单了,规范写成『在必要的时候加分号』 |
10 qhxin 2015-12-03 13:44:51 +08:00 分号不是必须的吧? |
11 learnshare 2015-12-03 13:57:37 +08:00 必须加,这是共识 |
12 otakustay 2015-12-03 14:11:00 +08:00 @FrankFang128 规范还是得写明白,事实上没多少人知道什么是“必要的时候”,不如拿这个当面试题坑人去 @learnshare 哪来的共识,随便给你找几个: airbnb : https://github.com/airbnb/Javascript#semicolons github (虽然是以 coffee 为主): https://github.com/styleguide/Javascript 虽然现在确实加分号是主流,但还没到“共识”这个程度,不加分号是可以运行得好好的 |
13 sleepwater 2015-12-03 14:11:56 +08:00 项目内部统一就行, bootstrap 的 js 源码就是没分号的,不过个人还是习惯加分号。 |
14 otakustay 2015-12-03 14:12:10 +08:00 |
15 FrankFang128 2015-12-03 14:13:11 +08:00 @otakustay 知道,我的意思是,规范不一定是『处处用分号』或『处处不用』。 |
16 love 2015-12-03 14:33:36 +08:00 我是不带的,代码看上去清爽多了。只要记住首字符是括号的情况下才需要前面加分号规则就行。 |
17 learnshare 2015-12-03 14:52:02 +08:00 @otakustay 我不能来反驳你,但分号是必须的 |
18 otakustay 2015-12-03 15:04:21 +08:00 @learnshare 我完全不明白不加分号会产生什么问题,是人会看不懂还是机器会看不懂…… |
20 hkongm 2015-12-03 15:30:05 +08:00 自定了 ESLint 规则 我们团队规定必须写 |
21 learnshare 2015-12-03 15:32:00 +08:00 @otakustay 看自己喜好咯,大部分不加的情况不会遇到什么问题 |
22 liuxiaoxiaochen 2015-12-03 15:37:14 +08:00 我觉得还是带吧 毕竟语言直接还是有差异的 |
23 zythum 2015-12-03 15:50:28 +08:00 如果你确定不加分号,那么你要清楚你的代码是怎么跑的才行,不然容易出现想不到的问题。 下面一个栗子, 如果 3 秒内没有发现为什么有问题。请乖乖把分号加回去: var aFunction = function () { alert(“我是一个方法哈哈哈”) } (function ( //我叫一个闭包, 哈哈哈 ) {}) |
24 aivier 2015-12-03 16:19:49 +08:00 过去,现在,将来,都写 =_= |
25 luoway 2015-12-03 16:26:26 +08:00 return false; |
26 fds 2015-12-03 16:30:43 +08:00 建议还是能加就加。 如果习惯 python ,那么建议尝试下 coffeescript ,分号大括号都不用啦。 |
28 tommyZZM 2015-12-03 16:32:43 +08:00 源代码肯定带啊,一切按照 jslint 走就好啦。 反正后面还要代码合并压缩的 |
29 chemzqm 2015-12-03 16:40:49 +08:00 http://blog.izs.me/post/2353458699/an-open-letter-to-Javascript-leaders-regarding 记住几点规则就可以不带了。 自打不带分号以后,不仅代码码起来更加流畅,看上去也更优雅了 |
30 chopper 2015-12-03 16:50:04 +08:00 我只想静静的看你们把缩进换行都去掉 |
31 sox 2015-12-03 17:16:56 +08:00 |
32 lifeTech 2015-12-03 17:19:45 +08:00 加分号吧,可阅读性和维护性都更好,不要偷这懒 |
33 jacobbubu 2015-12-03 17:32:02 +08:00 我是能不加就不加。但是一旦加了,就要坚持都加。 |
34 daysv 2015-12-03 17:38:31 +08:00 加加加加加 webstorm 就是这么烦 |
36 muzuiget 2015-12-03 18:29:48 +08:00 一定要加,不加是埋雷作死行为。 |
37 kslr 2015-12-03 18:37:46 +08:00 习惯了 |
38 18000rpm 2015-12-03 18:40:55 +08:00 via iPad 我记得玉伯在博客里也提倡不加,这样的人还是有一些影响力的 |
39 jydeng 2015-12-03 18:45:27 +08:00 还是要加,不然感觉不对, c#写习惯了。 |
40 hbkdsm 2015-12-03 18:46:37 +08:00 via Android vue bootstrap npm 这些项目的 JS 代码都不加分号。 |
41 exoticknight 2015-12-03 18:53:39 +08:00 可以不加 |
43 18000rpm 2015-12-03 19:07:39 +08:00 |
45 hbkdsm 2015-12-03 19:08:00 +08:00 via Android @zythum 所以这是一个风格问题呀。有 Java, PHP 背景的倾向于加分号,有 Python, Ruby 背景的倾向于不加,按照团队的 Style guide 来就好。 |
46 behappy 2015-12-03 19:11:46 +08:00 团队不要求加。。。 但是还是觉得加分好比较好。 |
47 SilentDepth 2015-12-03 19:30:15 +08:00 我想问一下,主张不加分号的理由或者原因是什么? |
48 an168bang521 2015-12-03 19:40:49 +08:00 我基本都是加的,不加分号感觉没有结束一样,会感觉心里怪怪的; webStorm 里也会提示; 加不加看个人习惯把,如果不加,压缩 Javascript 代码时候,不给力的压缩网站,可能会出现未知错误(一般情况下,有些地方不加分号压缩好像也没啥事); 还有就是印象中好像在 Javascript 高程三还是那本书里看到,说如果不加分号做结束,浏览器会自动判断并且给适当的位置添加分号进行解析;如果加了分号,就不需要浏览器去判断,可以直接解析代码,说是可以提高浏览器性能; 感觉还是推荐加,不加分号总觉得怪怪的; |
49 xmbaozi 2015-12-03 19:42:36 +08:00 via Android 带,除了 d3js |
50 FrankFang128 2015-12-03 19:47:01 +08:00 说 WebStorm 提示的,都是不会配置么? |
51 zhuangzhuang1988 2015-12-03 20:13:00 +08:00 加, 肯定得加入的, 即使我用 typescript 都加入的 |
52 sox 2015-12-03 20:20:01 +08:00 知道什么时候不加有问题,所以不加,只在必须加的是后加。 比如楼上某处的 ;(function ... |
53 Tink PRO 不带啊 |
54 BOYPT 2015-12-03 20:21:46 +08:00 python 有强制缩进,每一行很明确; js 没这个特性,必须加。 |
56 love 2015-12-03 21:59:30 +08:00 而且很多有影响力的项目不加分号说明这种做法是完全没有问题的,这只是个象缩进用 tab 还是空格一样的风格问题,比如牛 b 的 rackt 家的所有项目都不加分号。 |
57 BOYPT 2015-12-03 22:47:24 +08:00 @love 缩进是没什么关系,比如很多 jquery 代码是这样的 $.ajax() .done(function () {blablabla;}) .fail(function () {blablabla;}) .always(function () {blablabla;}); 我刚才稍微想了下觉得是 python 强制缩进所以不能这么用,但其实还是语言设计上的区别,不仅是缩进引起。 |
58 wizardoz 2015-12-03 23:12:30 +08:00 不带分好编辑器会警告,所以我带 |
59 xwartz 2015-12-03 23:53:03 +08:00 我也不喜欢写分号,但是团队已有项目写分号,只有遵循了。 |
60 M4ster 2015-12-04 00:00:42 +08:00 一般都用 CoffeeScript , IDE 对它的支持也好。 |
61 pynix 2015-12-04 02:31:29 +08:00 能不用则不用。。。 |
62 xifangczy 2015-12-04 05:21:05 +08:00 前端丢来的 js 都是不带分号的,因为一次 BUG 因为没有分号的原因以后每次都要求要带上分号... |
63 babytomas 2015-12-04 08:10:18 +08:00 via Android document.write("我觉得分号还是很有必要的,这个看团队要求吧"); |
64 ghostheaven 2015-12-04 08:32:12 +08:00 坚持加分号 30 年 |
65 zeroten 2015-12-04 09:07:41 +08:00 via Android 弱弱问一下,不加分号会不会影响 js 压缩 |
66 onlyice 2015-12-04 09:12:55 +08:00 当年写 C++ 的时候觉得写 JS 也要加,现在写 Python 觉得 JS 能不加就不加。 |
67 Felldeadbird 2015-12-04 09:24:47 +08:00 写!你做手工压缩的时候,你会发现没有分号会导致 JS 执行失败。当然大部分开源的压缩库都会处理的。 |
68 sxd 2015-12-04 09:35:12 +08:00 对 我发现好几个老外出教程 都不写分号了 还以为是趋势了... |