【发布时间】:2017-05-19 09:59:46
【问题描述】:
我在我正在从事的项目中遇到了这段代码:
var dataSources = **an array of objects**
var _iteratorNormalCompletion = true;
for (var _iterator = dataSources[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var dataSource = _step.value;
....
}
首先,我以前从未遇到过这样的事情(甚至不知道要搜索什么来找到任何参考资料)。它的技术术语是什么,它是如何工作的? _step.value 在哪里分配?这和for loop 有什么区别?
其次,与标准的for loop 相比,使用这种for 风格有什么突出的好处吗?在我看来,实现相同输出的方法过于复杂:
var dataSources = **an array of objects**
for (var i = 0; i < dataSources.length; ++i) {
var dataSource = dataSources[i];
....
}
【问题讨论】:
-
“这与标准 for 循环有什么区别?” – 无;这是一个“标准”for循环。
for (INITIALIZATION; CONDITION; AFTERTHOUGHT) -
好的,但是为什么要使用一个而不是另一个“这似乎是实现相同输出的一种过于复杂的方法”?
标签: javascript loops for-loop iterator