javascript - 这个 for in 循环是什么意思,为什么它只打印出 0 和 1?

标签 javascript

非常有趣,下面的 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/

相关文章:

javascript - 高级开关盒

java - 服务器端更改客户端发送的日期/时间

javascript - 无限水平滚动容器 div 中的 div 集

javascript - 使用 JavaScript 模仿占位符行为

javascript - 从文件输入返回两个图像范围

javascript - window.innerWidth 与 document.documentElement.clientWidth

javascript - React 16.6 lazy/Suspense DOM 异常

javascript - 跟踪 jqplot 垂直折线图的鼠标位置

javascript - 使用模块模式在 YUI3 中创建自定义模块

javascript - 如何在S3存储桶中存储图像?