我最近在一本JavaScript书中遇到了以下代码:
var col = [], top, bottom;
这是我第一次遇到一个似乎被给予三个变量的变量。有人可以解释这行代码中发生了什么吗?
答案 0 :(得分:4)
这只是一个较短的版本:
var col = [];
var top;
var bottom;
一种风格与另一种风格相比没有真正的优势/劣势,但JSLint喜欢在每个范围内合并所有var
声明(正如您在问题中所说的那样):
在具有块范围的语言中,通常建议使用 变量应在首次使用的站点声明。但是因为JavaScript 没有块范围,声明所有函数是明智的 函数顶部的变量。 建议单一 每个函数都使用var语句。
要详细说明原因,您可以查看ECMAScript spec。这是语法的相关部分:
VariableStatement:
var
VariableDeclarationList;
VariableDeclarationList:VariableDeclaration VariableDeclarationList
,
VariableDeclarationVariableDeclaration:Identifier Initialiser opt
值得注意的是,此处使用的逗号不与comma operator相同。它碰巧使用相同的字符。
答案 1 :(得分:4)
将其读作
var
col = [],
top,
bottom;
声明了三个变量,但只初始化了一个。
答案 2 :(得分:1)
这是在javascript
中声明多个变量的一般语法。
它表示您要声明三个变量,即col
,top
,bottom
,其中col
的类型为array
。
它与:
var col = [];
var top ;
var bottom;
有用的链接:
http://docstore.mik.ua/orelly/webprog/jscript/ch04_02.htm
http://freewebdesigntutorials.com/javaScriptTutorials/jsArrayObject/declareAnArray.htm
答案 3 :(得分:0)
此语句不会为col分配三个值,它只是声明三个变量,其中一个是数组。