`var`关键字后面跟多个变量名是什么意思?

问题描述 投票:0回答:4

我最近在一本正在研究的 JavaScript 书中发现了以下代码行:

var col = [], top, bottom;

这是我第一次遇到一个变量似乎被赋予了三个变量。有人能解释一下这行代码发生了什么吗?

javascript variable-declaration
4个回答
4
投票

这只是一个较短的版本:

var col = [];
var top;
var bottom;

一种风格相对于另一种风格没有真正的优势/劣势,但是 JSLint 喜欢将每个范围中的所有

var
声明组合在一起(正如您在问题中所言):

在具有块作用域的语言中,通常建议 变量在首次使用时声明。但因为 JavaScript 没有块作用域,更明智的做法是声明函数的所有内容 变量位于函数顶部。 建议单人 每个函数使用 var 语句


要了解为什么会出现这种情况的完整解释,您可以查看 ECMAScript 规范。这是语法的相关部分:

变量语句:

var
变量声明列表
;

变量声明列表:变量声明变量声明列表

,
变量声明

变量声明:标识符初始化器opt

还值得注意的是,这里使用的逗号逗号运算符不同。只是碰巧使用了相同的字符。


4
投票
读作

var col = [], top, bottom;

声明了三个变量,但只初始化了一个。


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


0
投票
该语句没有为 col 分配三个值,它只是声明了三个变量,其中一个是一个数组。

© www.soinside.com 2019 - 2024. All rights reserved.