为什么单个var在javascript中很好?

lds*_*now 7 javascript

任何人都可以告诉我为什么对多个变量使用一个var声明并在换行符上声明每个变量是否是一个很好的编程行为?

// bad
var items = getItems();
var goSportsTeam = true;
var dragonball = 'z';

// good
var items = getItems(),
    goSportsTeam = true,
    dragonball = 'z';
Run Code Online (Sandbox Code Playgroud)

Ben*_*aum 7

它不被认为是"好"或"坏".这是一个偏好问题.

构建代码质量工具JSLint的人,Douglas Crockford喜欢它.

它可能具有的一个"优点"是它避免了可变升降的可能性.在JavaScript中,所有var声明都会自动移到其作用域的顶部.

这就是为什么Crockford认为第二种选择更好的原因:

在具有块范围的语言中,通常建议在首次使用的站点声明变量.但是因为JavaScript没有块范围,所以在函数顶部声明所有函数的变量是明智的.建议每个函数使用一个var语句.这可以通过vars选项拒绝.