我最近在我正在阅读的一本 JavaScript 书籍中遇到以下代码行:
var col = [], top, bottom;
这是我第一次遇到一个看似被赋予三个变量的变量。有人可以解释这行代码中发生了什么吗?
4 回答
它只是一个较短的版本:
var col = [];
var top;
var bottom;
一种风格相对于另一种风格没有真正的优势/劣势,但JSLint喜欢将var
每个范围内的所有声明组合起来(正如您在问题中所提出的那样):
在具有块范围的语言中,通常建议在第一次使用的地方声明变量。但是因为 JavaScript 没有块作用域,所以在函数顶部声明函数的所有变量更为明智。建议每个函数使用单个 var 语句。
有关为什么会这样的完整解释,您可以查看ECMAScript 规范。这是语法的相关部分:
变量声明:
var
变量声明列表;
变量声明列表:变量声明变量声明列表
,
变量声明变量声明:标识符初始化器选择
还值得注意的是,这里使用的逗号与逗号运算符不同。它只是碰巧使用了相同的字符。
读为
var
col = [],
top,
bottom;
声明了三个变量,但只初始化了一个。
这是在 中声明多个变量的一般语法javascript
。它说你要声明三个变量,即col
, top
, bottom
where col
is of type array
。
它与以下内容相同:
var col = [];
var top ;
var bottom;
有用的链接:
http ://docstore.mik.ua/orelly/webprog/jscript/ch04_02.htm
http://freewebdesigntutorials.com/javaScriptTutorials/jsArrayObject/declareAnArray.htm
该语句没有为 col 分配三个值,它只是声明了三个变量,其中一个是数组。