在JavaScript中,可以像这样声明多个变量:
var variable1 = "Hello, World!";
var variable2 = "Testing...";
var variable3 = 42;
...或者像这样:
var variable1 = "Hello, World!",
variable2 = "Testing...",
variable3 = 42;
一种方法比另一种更好/更快吗?
在JavaScript中,可以像这样声明多个变量:
var variable1 = "Hello, World!";
var variable2 = "Testing...";
var variable3 = 42;
...或者像这样:
var variable1 = "Hello, World!",
variable2 = "Testing...",
variable3 = 42;
一种方法比另一种更好/更快吗?
当前回答
也许像这样
var variable1 = "Hello, World!"
, variable2 = 2
, variable3 = "How are you doing?"
, variable4 = 42;
除了更改第一个或最后一个变量外,它易于维护和读取。
其他回答
这样做的时候可读性更强:
var hey = 23;
var hi = 3;
var howdy 4;
但是这种方法占用的空间和代码行数更少:
var hey=23,hi=3,howdy=4;
它是节省空间的理想选择,但是让JavaScript压缩器为您处理它。
var variable1 = "Hello, World!";
var variable2 = "Testing...";
var variable3 = 42;
比:
var variable1 = "Hello, World!",
variable2 = "Testing...",
variable3 = 42;
但它们做的事情是一样的。
除了可维护性,第一种方法消除了意外创建全局变量的可能性:
(function () {
var variable1 = "Hello, World!" // Semicolon is missed out accidentally
var variable2 = "Testing..."; // Still a local variable
var variable3 = 42;
}());
而第二种方式就不那么宽容了:
(function () {
var variable1 = "Hello, World!" // Comma is missed out accidentally
variable2 = "Testing...", // Becomes a global variable
variable3 = 42; // A global variable as well
}());
我相信在我们开始使用ES6之前,使用单一的var声明的方法既不好也不好(如果你有lints和'use strict'的话)。这真的是一种口味偏好。但现在我的情况变了。以下是我对多行声明的一些看法:
Now we have two new kinds of variables, and var became obsolete. It is good practice to use const everywhere until you really need let. So quite often your code will contain variable declarations with assignment in the middle of the code, and because of block scoping you quite often will move variables between blocks in case of small changes. I think that it is more convenient to do that with multiline declarations. ES6 syntax became more diverse, we got destructors, template strings, arrow functions and optional assignments. When you heavily use all those features with single variable declarations, it hurts readability.
第二种方法的主要问题是,到目前为止还没有IDE支持这种风格。 你不能折叠这些结构。