当我使用--harmony
option启动node v0.11.14 REPL并尝试for-of循环时,我得到:
> for (var i of [3, 4, 5]) console.log(i);
TypeError: undefined is not a function
套也一样。但是它与生成器一起工作良好:
> function* Counter() { var n=3; while (n < 7) { yield n++; } }
> var c = new Counter();
> for (var i of c) console.log(i);
3
4
5
6
尽管ecmascript Wiki页面的第一个示例是:
for (word of ["one", "two", "three"]) {
alert(word);
}
MDN页面和Traceur文档包含相同的示例。我无法在“ for-of in nodejs”中使用Google。它应该真正在Node中工作还是我缺少什么?
for .. of
在第8版中分别实现了可迭代对象。看起来在与节点0.11.14捆绑在一起的v8中,您只能将其与生成器一起使用。
您可以检查obj[Symbol.iterator]
属性以查看对象是否可迭代,它应该是一个函数。在使用v8 3.29.93构建的节点中,一切正常。因此,您可能必须等待下一个0.11版本(或0.12)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句