ホームページ  >  記事  >  ウェブフロントエンド  >  Javascript タイマーは、parameters_javascript スキルを渡すメソッドを呼び出します

Javascript タイマーは、parameters_javascript スキルを渡すメソッドを呼び出します

WBOY
WBOYオリジナル
2016-05-16 18:41:56970ブラウズ

window.setTimeout であっても window.setInterval であっても、関数名を呼び出しハンドルとして使用する場合はパラメーターを受け取ることができないため、それを解決する方法を見つける必要があります。
たとえば。 、関数 hello(_name) の場合、ユーザー名のウェルカム メッセージを表示するために使用されます:


var userName ="Tony";
//ユーザー名に基づいてウェルカム メッセージを表示します
function hello(_name){
alert("hello," _name);
}

現時点では、次のステートメントを使用して hello 関数の実行を 3 秒遅らせることはできません:
window.setTimeout(hello() userName),3000);
これにより、hello 関数がすぐに実行され、値が呼び出しハンドルとして setTimeout 関数に渡され、結果はプログラムが必要とするものではありません。文字列形式を使用します:
window.setTimeout("hello(userName)",3000);
here この文字列は、userName が変数を表す JavaScript コードの一部です。十分直感的ですが、場合によっては関数名を使用する必要があります。ここでは、パラメーターを使用して関数を呼び出すためのちょっとしたトリックを示します。
コードをコピー コードは次のとおりです。




関数 _hello は、パラメーターを受け取り、パラメーターなしで関数を返すためにここで定義されているため、この関数内では外部関数のパラメーターが使用されます。 window.setTimeout 関数では、_hello(userName) を使用してパラメータなしで関数を返すことができ、パラメータを渡す機能を実現します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。