这是什么JavaScript语法
What JavaScript Syntax is this?
这是我在github上reding的Redux.js中的一个示例。有人能解释一下这里使用的语法吗?
var currentListeners = []
var nextListeners = currentListeners
....
someFunc() {
// THIS:
var listeners = currentListeners = nextListeners
for (var i = 0; i < listeners.length; i++) {
listeners[i]()
}
.....
}
多重赋值和for语句是否独立?这就可以解释了。但是作业末尾缺少的分号是什么呢?好做法/坏做法?
赋值运算符的计算结果为已赋值的值(实际上是正确的操作数)。作为副作用,它会更新左侧操作数的值。因此,a = b = c
将c的值赋给b,求值为c,然后将c的数值赋给a,求值为c.
赋值是右关联的——它从右到左分组。
此外,如果每条语句都在自己的行上,则语句之间的分号是可选的(链接中缺少一些细节)。
最后,这里发生的一件有趣的事情是向上一个范围声明的变量赋值。Javascript中的函数是声明新作用域的一种方法。请注意,如果函数只是在代码段中定义的,那么在调用它之前,它不会对currentListeners
的值产生影响。
var listeners = currentListeners = nextListeners
和这样做是一样的:
var currentListeners = nextListeners;
var listeners = currentListeners;
希望这能帮助
相关文章:
- Javascript未捕获语法错误意外的标识符错误
- Javascript语法向设置发出sessionStorage值
- javascript自执行函数-不同的语法
- 函数的Javascript语法
- 有没有针对带有表的JavaScript的Markdown语法解析器
- 重写需要javascript中带有import关键字的语法
- 如何定义const函数javascript(语法糖)
- 循环的Javascript冻结浏览器,没有语法错误
- 为什么匿名函数本身就是javascript中的语法错误
- 这怎么不是语法错误?这毫无意义!(javascript)
- javascript匿名函数语法
- javascript在代码背后的语法
- Onclick不会启动..可能存在javascript语法问题
- 在javascript函数的循环中设置全局布尔变量的最佳语法
- 什么's当前命名空间/类中JavaScript子命名空间/类的语法
- 我可以将为java创建的语法文件转换为javascript的语法文件吗
- “”附近的语法错误;elseif”;Javascript
- javascript eval方法语法
- 用jquery替换javascript语法
- Google 电子表格更新的正确语法 - Javascript