2011-10-30 38 views
0

這是一篇摘自here的摘錄,描述了一篇描述JavaScript中的發電機和迭代器的MDN文章。瀏覽器外部的發電機和「良率」

function simpleGenerator(){ 
    yield "first"; 
    yield "second"; 
    yield "third"; 
    for (var i = 0; i < 3; i++) 
    yield i; 
} 

var g = simpleGenerator(); 
print(g.next()); // prints "first" 
print(g.next()); // prints "second" 
print(g.next()); // prints "third" 
print(g.next()); // prints 0 
print(g.next()); // prints 1 
print(g.next()); // prints 2 
print(g.next()); // StopIteration is thrown 

以上,我們讀:

產量參數僅向包裹在一個

<script type="application/javascript;version=1.7"> 

塊(或更高版本)的HTML代碼塊。

事實上,當嵌入HTML文件幷包含在上述標記中時,代碼段可以正常工作。問題是,我在犀牛嘗試過它,它似乎沒有在HTML和瀏覽器之外工作。

那麼如何在瀏覽器之外使用生成器呢?

回答

0

要更改背景:

  Context ctx = Context.enter(); 
      ctx.setLanguageVersion(Context.VERSION_1_7); 
      try { 

      CompilerEnvirons compEnv = new CompilerEnvirons(); 
      compEnv.initFromContext(ctx); 

      ... 

      } 
      finally { Context.exit(); }