Kar*_*ath 1 javascript for-loop
我的一个同事在mongo mapreduce中创建了一个愚蠢的bug,他应该创建一个对象但实际上传递了字符串"{}".奇怪的是脚本没有崩溃,但实际上迭代了字符串,所以我做了一些调查,发现了以下内容:
该脚本x="bla"; for (i in x) { alert(i); };使用以下方式使用不同的浏览器:
我完全知道这不是一个有效的语法,只是纯粹的好奇心,是否有人知道为什么浏览器的行为方式如此?我对MongoDB的行为特别感兴趣.
实际上,这是完全有效的语法.
在JavaScript中使用for ... in循环不仅会循环遍历数组,还会循环遍历属性(我只是一个索引,而不是数组中的实际值).
查看Mozilla开发者网络上的文档:
他们的榜样应该让事情更清楚.
| 归档时间: |
|
| 查看次数: |
283 次 |
| 最近记录: |