2012-04-08 108 views
1

我试图从这里为什么我无法获得JavaScript良品?

MDN: Generators and Iterators

function fib() { 
    var i = 0, j = 1; 
    while (true) { 
    yield i; 
    var t = i; 
    i = j; 
    j += t; 
    } 
} 

var g = fib(); 
for (var i = 0; i < 10; i++) { 
    console.log(g.next()); 
} 

运行代码如果此代码在执行的Node.js我无法得到它的Node.js,Chrome或Firefox

+0

适用于FF10的我 – kirilloid 2012-04-08 07:42:58

+0

我迷路了;在陈述前 收益率为i; – Hoa 2012-04-08 07:48:41

+0

我看到了,但它的工作甚至没有那个。 – kirilloid 2012-04-08 07:51:45

回答

2

这是一个正在新版本的JavaScript解释器中测试的EcmaScript.next功能。

Mozilla's "Iterators and Generators"说明如何使用它们。请参阅kangax's compatibility chartbrowser specific reports。虽然Chrome整体尚未完成,但jmar777报告说V8支持它(截至2013年8月)。

+1

单挑:在给出这个答案的时候它是正确的,但是发电机已经发展到现在的草案规范并且已经在V8中实现(并且在Node v0.11.x中存在)。 – jmar777 2013-08-21 14:14:10

+0

@ jmar777,请参阅我的编辑。我重写了最新的内容。 – 2013-08-23 17:06:02

1

工作应用程序在服务器端,它并不重要你使用的浏览器,因为这不是该代码块的执行环境 - 它在你的服务器上,据我所知,Node.js使用的是V8版本JS引擎还没有ES6支持。

+0

称它为“ES6”为时尚早。 – 2012-04-08 09:10:17

相关问题