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

What is the difference between a single comma-separated variable declaration, and multiple declarations?

本文关键字:声明 之间 区别 是什么 变量 单个逗 分隔      更新时间:2023-12-29

逗号分隔的声明与有什么区别

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

和多行声明:

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

代码性能是否存在差异?

逗号分隔的声明只是一个权宜之计。明智地执行没有区别。但是,如果您声明了很多变量,它可以帮助减少javascript文件的大小。

你甚至可以做:

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

通常著名的linting风格是不允许的,例如airbnb标准,所以我认为这并不是什么大不了的事情,既然不是,我认为最好还是坚持其他人的警告。

为什么不使用逗号声明?

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

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文件的大小,而且以现代互联网速度,这并不是一个很大的优势。