嵌ったのでメモ。 例えば下記のような関数が定義されていたとする。 var noname = function(arg1, arg2, arg3){ console.log(arg1); console.log(arg2); console.log(arg3); } まずsetTimeoutで単純に関数を呼びたいだけの場合。 第1引数に関数名を指定する際、クオーテーションで括る方法と括らない方法があるので注意。 // 括る場合 setTimeout('noname()', 1000); // 括らない場合 setTimeout(noname, 1000); 第1引数をクオーテーションで括った場合、関数名の後に括弧「()」が無いと正常に動作しない。 逆に括らなかった場合は括弧をつけてしまうと意図しない動作になる。 下記に示す記述方法はいずれも正常に動作しない例。 // 第2引数のms指定は無視
![JavascriptのsetTimeout()は引数の渡し方に注意。](https://cdn-ak-scissors.b.st-hatena.com/image/square/8d71ff5111e05619a10d29bb40d7aebaa75c8fbc/height=288;version=1;width=512/https%3A%2F%2Fs0.wp.com%2Fi%2Fblank.jpg)