Check

続 : call back functionによって動作を変える

| | コメント(1) | トラックバック(0)
call back functionによって動作を変える

Function objectの.lengthで普通にできるし。
まあ、基本的には変わらないけど、こっちのほうがかっこいい!

var each = function (fun) {if ( fun.length != 1 ) var apply = 'apply';return fun[apply || "call"](fun,arguments[1]);};

each( function (a,b,c) { alert(a+' '+b+' '+c) }, [1,2,3] );
#-> alert( '1 2 3' );
each( function (a) { alert(a[0]+' '+a[1]+' '+a[2]) }, [1,2,3] );
#-> alert( '1 2 3' );

トラックバック(0)

このブログ記事を参照しているブログ一覧: 続 : call back functionによって動作を変える

このブログ記事に対するトラックバックURL: http://0-9.sakura.ne.jp/mt/mt-tb.cgi/251

コメント(1)

いや、こうだな。

var each = function (fun) {return fun[--fun.length ? 'apply' : 'call'](fun,arguments[1]);};

コメントする