2

重複の可能性:
パラメータをsetTimeout()コールバックに渡すにはどうすればよいですか?
文字列をsetTimeoutに渡す正当な理由はありますか?

loadPHPQuote(code)1秒後に関数を呼び出したい。そして、数字とテキスト文字の両方を含むコードと呼ばれるパラメーターを渡したいと思います。しかしsetTimeout()、コードに文字が含まれている場合は機能しませんでした。数字だけで問題ありません。

これが私のコードです

setTimeout('loadPHPQuote('+code+')',1000);

これを手伝ってくれる人はいますか.....?

4

3 に答える 3

3

これを行う:

setTimeout(function() { loadPHPQuote(code); }, 1000);
  • eval引用符を使用すると、舞台裏で呼び出されます。
  • 引数を渡す必要がある場合は、上記のような関数でラップします。
  • 関数をすぐに呼び出さないようにするために、でまたは直接使用()setTimeoutないsetIntervalでください
于 2012-06-19T09:34:02.607 に答える
2

文字列をパラメータとしてに渡すことはお勧めしませんsetTimeout()(たとえば、MDNを参照)。代わりに無名関数を使用してください:

setTimeout( function(){ loadPHPQuote( code ); }, 1000 );
于 2012-06-19T09:34:21.497 に答える
0

渡す文字列であるため、パラメータを引用符で囲む必要があります。例:

setTimeout('loadPHPQuote("'+code+'")',1000);
于 2012-06-19T09:34:23.147 に答える