var calc = function() { var memo = [0, 1]; var fibo = function(val) { if ($.isNumeric(val)) { val = parseInt(val); if (val < 0) { return "invalid value"; } var result = memo[val]; if ($.isNumeric(result)) { return result; } else { result = fibo(val - 1) + fibo(val - 2); memo[val] = result; return result; } } return "value passed is not valid"; }; return { fibo: fibo, memo: memo }; }(); $("#btnFibonacci").click(function() { calc.fibo($("#ip").val()); $("#output").html(''); $.each(calc.memo, function(idx, item) { $("#output").append(item + " "); }); });
<input type="textbox" id="ip"/> <br/> <input type="button" id="btnFibonacci" value="Fibonacci"/> <br/> <div id="output"></div>
input, div { margin: 10px}