javascript recursion practice