2012-04-08 106 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

相關問題