在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;
一种方法比另一种更好/更快吗?
当前回答
第二种方法的主要问题是,到目前为止还没有IDE支持这种风格。 你不能折叠这些结构。
其他回答
有c背景的人肯定会使用第二种方法
var variable1 = "Hello, World!",
variable2 = "Testing...",
variable3 = 42;
上面的方法看起来更像c语言
第一种方法更容易维护。每个声明都是单行上的单个语句,因此可以轻松地添加、删除和重新排序声明。
对于第二种方法,删除第一个或最后一个声明是很烦人的,因为它们分别从var关键字开始并以分号结束。每次添加新声明时,必须将最后一行中的分号替换为逗号。
避免使用单语句版本(单var)的另一个原因是调试。如果在任何赋值行中抛出异常,堆栈跟踪只显示这一行。
如果使用逗号语法定义了10个变量,则无法直接知道哪个变量是罪魁祸首。
单个语句版本没有这种歧义。
除了可维护性,第一种方法消除了意外创建全局变量的可能性:
(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
}());
这只是个人喜好的问题。这两种方式之间没有区别,只是如果去掉空白,第二种形式节省了一些字节。