JavaScript,声明变量时混淆语法
JavaScript, confusing syntax when declaring a variable
我最近在一本正在阅读的JavaScript书中遇到了以下代码行:
var col = [], top, bottom;
这是我第一次遇到一个变量似乎被赋予了三个变量。有人可以解释一下这行代码中发生了什么吗?
它只是一个简短的版本:
var col = [];
var top;
var bottom;
一种风格与另一种风格相比没有真正的优点/缺点,但 JSLint 喜欢将每个范围内的所有var
声明组合在一起(就像您在问题中所做的那样):
在具有块作用域的语言中,通常建议 变量在首次使用地点声明。但是因为JavaScript 没有块作用域,声明所有函数的 函数顶部的变量。建议单 每个函数使用 var 语句。
要了解为什么会这样的完整解释,您可以查看 ECMAScript 规范。以下是语法的相关部分:
变量语句:
var
变量声明列表;
变量声明列表 : 变量声明 变量声明列表
,
变量声明变量声明:标识符初始化器选项
还值得注意的是,此处使用的逗号与逗号运算符不同。它只是碰巧使用相同的字符。
读作
var
col = [],
top,
bottom;
声明了三个变量,但只初始化了一个变量。
在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
此语句没有为 col 分配三个值,它只是声明了三个变量,其中一个是数组。
- 为两个ID设置一个变量的正确语法
- 在javascript函数的循环中设置全局布尔变量的最佳语法
- Javascript函数变量传递语法问题
- Javascript中的LESS变量给出语法错误
- Jquery 替换所有文本语法正则表达式中的变量
- 使用带有返回的 Jquery 变量的正确语法
- Jquery 语法和变量
- 动态变量名语法
- 用于将变量传递给函数的javascript语法
- 语法错误:意外的令牌非法设置变量
- 语法错误:我的 js 代码中出现意外的令牌变量
- 通过 Excel VBA 引用 Acrobat Javascript 全局变量所需的语法是什么?
- JavaScript,声明变量时混淆语法
- 未捕获的语法错误:意外的令牌,将多个变量传递给javascript函数
- 函数语法,传递变量
- Angular JS使用controllerAs和这个语法与范围或这个变量
- 你能解释一下这个JavaScript语法(变量外推)吗?
- Javascript 变量声明语法
- 语法:const {} = 变量名称,任何人都可以解释或指出我正确的方向
- JSON语法-变量被解释为文字