<script type="text/javascript"> window.onload = load function fibo(){ var ipt = document.getElementById('fibo'); var saida = document.getElementById('resultado') entrada = parseInt(ipt.value) var result = [] a = 0 b = 1 while (b < entrada){ result.push(b) c = a + b a = b b = c } saida.innerHTML = result return false; } function fibo2(){ var a = 0 var b = 1 return function(){ c = a + b a = b b = c return a } } f = fibo2() resultados = [] function calculacomClosure(){ resultados.push(f()) document.getElementById('resultado2').innerHTML = resultados } function calculacomYield(){ resultadosyield.push(g.next()) document.getElementById('saidaYield').innerHTML = resultadosyield } function load(){ document.forms[0].onsubmit = function(){return fibo()}; document.getElementById('comclosure').onclick = calculacomClosure document.getElementById('comYield').onclick = calculacomYield } </script> <script type="application/javascript;version=1.7" > function fib() { var i = 0, j = 1; while (true) { yield i; var t = i; i = j; j += t; } } resultadosyield=[] var g = fib(); g.next() </script>