低速版
function fib(i) { if(i == 0 || i == 1) return i; return fib(i-1) + fib(i-2); }
高速版
function fib(i) { return (function(i) { if(i == 0) return [0, 1]; return (function(a){ return [a[1], a[1] + a[0]] })(arguments.callee(i-1)); })(i)[0] }
function fib(i) { if(i == 0 || i == 1) return i; return fib(i-1) + fib(i-2); }
function fib(i) { return (function(i) { if(i == 0) return [0, 1]; return (function(a){ return [a[1], a[1] + a[0]] })(arguments.callee(i-1)); })(i)[0] }