Lazy Function Evaluation

function pi(n) {
  var sum = 0;
  for (var k = 0; k < n; k++) {
    sum = sum + Math.pow(-1, k) / (2 * k + 1);
  }
  return 4 * sum;
}

This function will estimate π with an accuracy related to n. Note that as n increases, so does the time to compute an estimate of π.

var piMemo = memoize(pi);

Here, the π-estimation function has been memoized to effect lazy evaluation, so repeated executions for a given value of n are fast, since the computation does not need to be redone.

Most of the interesting stuff is happening behind the scenes in JavaScript. Check out this page's source to dig into it.