在《深入浅出node.js》一书的附录中,作者介绍了var和逗号的使用规范。
其中C.2.1.2 变量声明中,说到每行生命都应该带上一个var,而不是只有一个var。
但是在C.2.1.6 逗号中,却遇到了这样的正确示例:
var foo = 'hello' , bar = 'world';
还有这里的“如果逗号不在行结尾,前面需要一个空格”,应该是后面需要一个空格吧?
关于var,Ghost似乎没有遵循这个规定:https://github.com/TryGhost/Ghost/blob/master/core/server/index.js
代码规范和代码风格,都只能说约定,每个人都有各自的习惯,没有绝对的对与错之分,看别人的代码规范,需要了解为什么这样写会更好。
每一行声明都带一个 var 有两个优点:
- 删除一个变量声明都很容易(直接删除行)
- 查看 diff 的时候不会互相影响
如果 ghost 觉得不需要这两点而选择打字更少的一个 var 的风格,只是仁者见仁,智者见智的问题。
感谢
- 这是一行的声明:
var foo=1, bar = 2;//这是符合 *每一行一个var* 的约定的
2.这是二行的声明:
//*如果逗号不在行尾, 则逗号前面要缩进一格*
var foo = 1
, bar = 2;
3.同意@dead-horse 的观点
John Resig… Nicholas C.Zakas… …等都说过 一个var就ok.
似乎多个var 降低效率? 没试过
再说了 你见过某某某的一堆js里 , 没有var x, xxx, xxxxxx?
个人不同意piao灵的这个见解
我个人的习惯是每一个变量声明都有一个var
写少一个var多用,就能显示技术有多牛逼?
+1 代码风格从来都是见仁见智的。
为什么每次都是 piao灵…
@alsotang 习惯了… -_-。sorry!
这个见仁见智的问题,不过在实际的团队开发中,感觉确实一行一个var会稍微舒服点。。。