2007-10-07から1日間の記事一覧

再帰足し算

Array.prototype.sum = function() { if(this.length == 1) return this[0]; return this.pop() + arguments.callee.apply(this); } alert([1, 2, 3, 4, 5, 6, 7, 8, 9, 10].sum()); // 55 追記 配列が大きくて再帰しすぎると "too much recursion" とエラー…

無名関数の繰り返し with タイムアウト

(function() { // 処理 setTimeout(arguments.callee, 1000) })() 引数を取る場合 : 0 から順に数字を表示してみる (function(c) { var self = arguments.callee; document.body.innerHTML = c setTimeout(function() { self(++c) }, 1000) })(0)