素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: twitter: @javascripter にどうぞ。

setTimeoutで実行する関数に複数の引数を渡したい

var a=function(){
 console.log(Array.slice(arguments));
}
setTimeout(function(args){
 a.apply(window,args);
},0,[1,2,3])

みたいにやれば動く。

_setTimeout=function(){
 var args=Array.slice(arguments);
 return setTimeout(function(){args[0].apply(window,args.slice(2))},args[1])
}
_setTimeout(console.log,0,1,2,3)

ってやったら動かなかった。何故だろう。