单个逗号分隔的变量声明和多个声明之间有什么区别?

时间:2015-02-18 14:20:36

标签: javascript jquery

逗号分隔声明之间有什么区别:

var a=0, b=0, c=0;

和多行声明:

var a=0;
var b=0;
var c=0;

代码性能是否存在差异?

2 个答案:

答案 0 :(得分:2)

以逗号分隔的声明只是一个简短的说法。执行方面没有区别。但是,如果要声明很多变量,它可以帮助减小javascript文件的大小。

你甚至可以这样做:

var a = 1, b = 'string', c = new Date();

答案 1 :(得分:0)

通常不允许使用著名的棉绒风格,例如airbnb standard,因此我想说这并不是什么大不了的事情,既然不是这样,我想最好还是坚持别人的警告。

为什么不使用逗号声明?

因此,当错误地使用;而不是,时,您不必担心问题,这将导致变量变为全局变量而不是作用域。

var t2 = 20;

const foo = function(){
  var t1 = 2; // assume that you by mistake did this
      t2 = 2;
}

foo();
console.log(t2);

请注意,类似这样的小错误将导致t2在打印时具有不同的值,问题在于JS不在乎是否自此,它假设您知道自己在做什么,并且它将全局变量从20更改为2。

警告全局变量是邪恶的,请不要使用它们,这只是一个示例

还需要将不同的letconstvar组合在一起,这没什么大不了的,但这又是因为JS令人惊奇地默默地失败了,所以您必须小心。

到目前为止,我看到的使用链声明的唯一好处是您可以通过网络减少JS文件的大小,并且现代互联网速度也不是很大的优势。