非常有趣,下面的 for in 循环打印出 0 和 1。 有人帮忙解释一下: 1 lambda 函数中的变量是什么意思? 2. 为什么打印出0和1? (我将 ['a', 'b'] 更改为 [1,2],它仍然打印 0 和 1。
for (var f in d = function(){}, ['a', 'b']){console.log(f)}
打印出来
0
1
最佳答案
for (var f in d = function(){}, ['a', 'b']) ...
如果将 in
子句包裹在括号中,则可以解释:
for (var f in (d = function(){}, ['a', 'b']) )
其中 (d = function(){}, ['a', 'b'])
是括号中的表达式。该表达式由 2 个其他表达式和一个 ,
运算符组成。
,
operator依次计算两个操作数并返回后者。
因此在您的情况下,d = function(){}
将匿名函数分配给变量 d
,然后返回包含 2 个元素的数组。
总结:d = function(){}
表达式不会被忽略,您可以在此循环后的语句中使用 d
。
关于javascript - 这个 for in 循环是什么意思,为什么它只打印出 0 和 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30768236/