JavaScript を使用して特定の遅延後にスクリプトを実行
jQuery の "lay()" または "wait()" に類似した JavaScript メソッドを求める場合スクリプトの遅延実行を可能にする関数として、「setTimeout()」が信頼できるソリューションとして登場しました。
ただし、後でパラメーターを指定して関数を呼び出す場合は、匿名関数呼び出しを利用する必要があります。
名前の後の括弧を省略して、後で呼び出すための引数として関数を渡したくなりますが、このアプローチには注意点があります。
var a = "world"; setTimeout(alert("Hello" + a), 2000); // Displays "Hello world" immediately
遅延実行を確実にするには、次のいずれかを使用します。関数名 (Flubba で示されている) または匿名関数、特にパラメータを渡す場合:
var a = "world"; setTimeout(function() { alert("Hello" + a); }, 2000); // Displays "Hello world" after 2 seconds
ただし、この代替方法には制限があります。遅延中に変数が変更され、関数の出力が変更される可能性があります。元の変数値を保持するには、コールバック関数を使用します。
function callback(a) { return function() { alert("Hello" + a); } } var a = "world"; setTimeout(callback(a), 2000); a = "Stack Overflow"; // This change won't affect the delayed function
コールバック関数内に元の変数値を組み込むことで、たとえ変更された場合でも、意図した値で遅延呼び出しが確実に行われるようになります。それまでの間。
以上がJavaScript を使用して特定の遅延後にスクリプトを実行し、変数値の変更を防ぐ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。