ユーザ用ツール

サイト用ツール


javascript:generator

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
javascript:generator [2009/01/18 17:32] – 外部編集 127.0.0.1javascript:generator [2015/10/24 04:29] (現在) – 削除 nullpon
行 1: 行 1:
-====== ジェネレータ ====== 
-FirefoxのJavaScript実装(JavaScript 1.7)にはジェネレータという機能がある。 
- 
-<code javascript> 
-function generator() { 
-   window.alert("開始"); 
-   yield; 
-   window.alert("途中"); 
-   yield; 
-   window.alert("終了") 
-} 
-var g = generator(); 
-g.next();  // 「開始」と表示 
-g.next();  // 「途中」と表示 
-g.next();  // 「終了」と表示され、StopIterationがスローされる。 
- 
-</code> 
-yield文を含む関数を実行するとジェネレータというオブジェクトが生成される。ジェネレータのnextメソッドを呼び出すと関数が実行され、yieldが呼び出されるまで実行され、そこで処理が一時停止する。もう一度nextメソッドを呼ぶと、次のyieldまで実行される。nextを呼び出して関数の最後まで到達するとStopIterationがスローされる。 
- 
- 
-例えば、カウンターが作れます。 
-<code javascript> 
-function counter() { 
-   var i =  0; 
-   while(true) { 
-      yield i; 
-      i++; 
-   } 
-} 
- 
-var g = counter(); 
-window.alert(g.next());  // 0 
-window.alert(g.next());   // 1 
-window.alert(g.next());   // 2 
-</code> 
- 
-ジェネレータを使うにはJavaScriptのバージョンを指定する必要があるようだ 
-<code html> 
-<script type="text/javascript;version=1.7"> 
-... 
-</sctipt> 
-</code> 
  
javascript/generator.1232299941.txt.gz · 最終更新: 2013/12/31 13:53 (外部編集)