出来たー! var fib = ((function f(i)(i<2)?1:f(i-1)+f(i-2))(i) for(i in {__iterator__:function()({a:0,next:function()this.a++})})); こんな感じ alert(fib.next()); // 1 alert(fib.next()); // 1 alert(fib.next()); // 2 alert(fib.next()); // 3 alert(fib.next()); // 5 for in でも使えます for (var i in fib) { // i はフィボナッチ数列 // 無限ループ } JavaScript 1.8 楽しい! うぽぽ