I came across the code while reading this article(执行Ctrl + F搜索Andre Breton):

//function returning array of `umbrella` fibonacci numbers
function Colette(umbrella) {
  var staircase = 0, galleons = 0, brigantines = 1, armada = [galleons, brigantines], bassoon;
  Array.prototype.embrace = [].push;

  while(2 + staircase++ < umbrella) {
    bassoon = galleons + brigantines;
    armada.embrace(brigantines = (galleons = brigantines, bassoon));
  }

  return armada;
}
x = (y = x, z)构造是什么意思?更具体地说,y = x, z是什么意思?我称它为逗号分配,因为它看起来像分配并且有逗号。

In Python,表示元组拆包(在这种情况下为打包)。这里是否一样?

最佳答案

这是逗号运算符。



因此,在您的情况下,仍将评估分配,但最终值将为bassoon

结果:

galleons = brigantines
brigantines = bassoon
armada.embrace(basson)

更多信息:Javascript "tuple" notation: what is its point?

关于javascript - JavaScript中的`x = y, z`逗号分配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12769922/

10-13 02:52