国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ ウェブフロントエンド jsチュートリアル Settimeout JavaScript関數(shù):例を掲載したガイド

Settimeout JavaScript関數(shù):例を掲載したガイド

Feb 10, 2025 pm 02:34 PM

setTimeout JavaScript Function: Guide with Examples

javascriptのsetTimeout関數(shù)説明:遅延実行

を?qū)g裝します

setTimeoutは、指定された遅延(ミリ秒)の後に関數(shù)を呼び出したり、コードスニペットを?qū)g行したりするために使用されるJavaScriptのネイティブ関數(shù)です。これは、ユーザーがしばらくページを參照した後にポップアップウィンドウを表示したり、要素ホバー効果を削除する前に短い遅延を追加したりするなど、多くのシナリオで役立ちます(誤操作を防ぐ)。

キーポイント:

  • javascriptのsetTimeout関數(shù)により、特定の數(shù)ミリ秒の後に関數(shù)またはコードスニペットの実行が可能になります。これは、特定のブラウジング時間の後にポップアップを表示するなどのタスクに非常に役立ちます。
  • setTimeout関數(shù)の參照を最初のパラメーターとして受け入れます。これは、関數(shù)名、関數(shù)を參照する変數(shù)、または匿名関數(shù)になります。また、コード文字列を?qū)g行することもできますが、読みやすさ、セキュリティ、速度を低下させるため、推奨されません。
  • 匿名関數(shù)を最初のパラメーターとして使用して、パラメーターをsetTimeoutで実行されたコールバック関數(shù)に渡すことができます。ただし、遅延後のパラメーターをリストする代わりに、IE9以下と互換性がありません。
  • setTimeoutによって実行されたコードでは、thisの値は、それを呼び出す関數(shù)とは異なる実行コンテキストで実行されます。これは、this、ライブラリ関數(shù)、または矢印関數(shù)を使用して解決できます。 bind
  • の返品値は、setTimeout関數(shù)と組み合わせてタイマーをキャンセルするために使用できる數(shù)値IDです。 clearTimeout

使用の例setTimeout

次のコードブロックは、2秒のタイムアウト(2000ミリ秒)の後にコンソールにメッセージを印刷する簡単な例を示しています。

この概念をより詳細(xì)に実証するために、次のデモンストレーションにボタンを2秒クリックした後のポップアップウィンドウが表示されます。(Demoを表示するにはCodepenにアクセスしてください)文法

function greet() {
  console.log('Howdy!');
}
setTimeout(greet, 2000);

MDNドキュメントによると、

の構(gòu)文は次のとおりです。

of:

setTimeout

const timeoutID = setTimeout(code);
const timeoutID = setTimeout(code, delay);

const timeoutID = setTimeout(functionRef);
const timeoutID = setTimeout(functionRef, delay);
const timeoutID = setTimeout(functionRef, delay[, arg1, arg2, /* … ,*/ argN])
は、タイマーをキャンセルするために

と併用できるデジタルIDです。

  • は、インターフェイスまたはtimeoutIDインターフェイスを指します。 clearTimeout
  • は、タイマーの有効期限が切れた後に実行される機(jī)能です。 scope WindowWorkerGlobalScopeは、タイマーの有効期限が切れたときにコンパイルおよび実行される関數(shù)の代わりに文字列を含めることができる代替構(gòu)文です。
  • functionRef関數(shù)呼び出しを遅らせる必要があるミリ秒數(shù)です。省略した場合、デフォルトは0です。
  • code、...、
  • は、
  • で指定された関數(shù)に渡される他のパラメーターです。 delay
  • arg1注:正方形の括弧argNオプションのパラメーターを示します。 functionRef

および[]

構(gòu)文にwindow.setTimeoutが含まれることがあることがわかります。なぜこれがなぜですか?

ブラウザでコードを?qū)g行すると、scopeはグローバルwindowオブジェクトを參照します。 setTimeoutおよびwindow.setTimeout同じ関數(shù)を參照してください。唯一の違いは、2番目のステートメントでは、メソッドをsetTimeoutオブジェクトのプロパティと呼びます。 window 私の意見では、これは複雑さを追加しますが、利點(diǎn)は最小限です。最初に見つかり、スコープチェーンで返される別の

メソッドを定義する場合、心配するより大きな問題があるかもしれません。

このチュートリアルでは、setTimeoutを省略しますが、最終的には、どの構(gòu)文を選択しますか。

windowメソッドの使用例

setTimeoutメソッドは、最初のパラメーターとして関數(shù)參照を受け入れます。

これは関數(shù)の名前である可能性があります:setTimeout

関數(shù)を參照する

変數(shù)(関數(shù)式):

function greet() {
  console.log('Howdy!');
}
setTimeout(greet, 2000);

または匿名関數(shù):

const timeoutID = setTimeout(code);
const timeoutID = setTimeout(code, delay);

const timeoutID = setTimeout(functionRef);
const timeoutID = setTimeout(functionRef, delay);
const timeoutID = setTimeout(functionRef, delay[, arg1, arg2, /* … ,*/ argN])
上記のように、

>コード文字列を?qū)g行するために

に渡すこともできます。
function greet() {
  alert('Howdy!');
}
setTimeout(greet, 2000);
ただし、これは次の理由で推奨されません。

setTimeout読みにくい(したがって、維持したり、デバッグするのが難しい)。

const greet = function() {
  alert('Howdy!');
};
setTimeout(greet, 2000);
潛在的なセキュリティリスクである暗黙的な

を使用します。

    JSインタープリターを呼び出さなければならないため、代替品よりも遅いです。
  • パラメーターをeval
  • に渡します
  • 基本的なシナリオでは、優(yōu)先されるクロスブラウザーメソッドは、匿名関數(shù)を最初のパラメーターとして使用して実行することによって実行されたコールバック関數(shù)に引數(shù)を渡すことです。
次の例では、

配列からランダムな動物を選択し、このランダムな動物をパラメーターとしてsetTimeout関數(shù)として渡します。次に、1秒の遅延で

関數(shù)を?qū)g行します。

setTimeout

注:通常の関數(shù)()を使用して、配列からランダムな要素を返しました。矢印関數(shù)を使用して関數(shù)式として書くこともできます:

animals makeTalk setTimeout次のセクションで矢印関數(shù)を紹介します。上記のコードを含むCodepenは次のとおりです(出力を表示するにはコンソールを開く必要があります)。 makeTalk

代替方法
setTimeout(() => { alert('Howdy!'); }, 2000);
記事の上部にある構(gòu)文から、

で実行されたコールバック関數(shù)にパラメーターを渡す2番目の方法があることがわかります。これには、遅延後にパラメーターをリストすることが含まれます。 getRandom前の例を參照してください。

殘念ながら、これはIE9以下では機(jī)能しません。ここでは、パラメーターが
setTimeout('alert("Howdy!");', 2000);
として渡されます。殘念ながらIE9のサポートが必要な場合は、MDNにポリフィルが提供されます。

キーワードの質(zhì)問

setTimeout実行されたコードは、それを呼び出す関數(shù)とは異なる実行コンテキストで実行されます。これは、thisキーワードのコンテキストが重要な場合に問題になります。

この出力の理由は、最初の例では
function greet() {
  console.log('Howdy!');
}
setTimeout(greet, 2000);

オブジェクトを指し、2番目の例では、グローバルthisオブジェクトを指していることです(dog屬性はありません。 )。 this この問題を解決するには、さまざまな方法があります... window sound値の説明設(shè)定

メソッドを使用して新しい関數(shù)を作成できます。呼び出されると、そのthisキーワードが提供された値に設(shè)定されます(この場合、

オブジェクト)。これにより、

が得られます bind bindユーザーライブラリthis dog多くのライブラリには、この問題を解決するための組み込み関數(shù)が付屬しています。たとえば、jQueryの

メソッド。関數(shù)を受け入れ、常に特定のコンテキストを持つ新しい関數(shù)を返します。この場合、それは次のとおりです
const timeoutID = setTimeout(code);
const timeoutID = setTimeout(code, delay);

const timeoutID = setTimeout(functionRef);
const timeoutID = setTimeout(functionRef, delay);
const timeoutID = setTimeout(functionRef, delay[, arg1, arg2, /* … ,*/ argN])

で矢印関數(shù)を使用します

矢印関數(shù)がES6に導(dǎo)入されました。それらは、通常の機(jī)能の構(gòu)文よりもはるかに短いです:jQuery.proxy()

もちろん、
function greet() {
  alert('Howdy!');
}
setTimeout(greet, 2000);

で使用できますが、1つ注意してください。矢印関數(shù)には獨(dú)自の値がありません。代わりに、囲まれた語彙コンテキストのsetTimeout値を使用します。

通常の関數(shù)を使用してください:

const greet = function() {
  alert('Howdy!');
};
setTimeout(greet, 2000);

矢印関數(shù)を使用してください:setTimeout this 2番目の例では、グローバルthisオブジェクトを指しています(繰り返しますが、

プロパティはありません)。

これは、
setTimeout(() => { alert('Howdy!'); }, 2000);
で矢印関數(shù)を使用すると、トラブルに巻き込まれる可能性があります。私たちは前に

で呼ばれる関數(shù)の正しい
setTimeout('alert("Howdy!");', 2000);
値を提供する方法を見てきました

this導(dǎo)入された方法で矢印関數(shù)を使用する場合、これは機(jī)能しません。矢印関數(shù)には獨(dú)自の値がないためです。このメソッドは引き続きwindowを記録します。 sound

矢印関數(shù)を使用したクリーナーコードの書き込み

ただし、矢印関數(shù)には獨(dú)自の値がないため、利點(diǎn)をもたらすこともできます。 setTimeout setTimeoutこのようなコードを検討してください:this

function makeTalk(animal) {
  const noises = {
    cat: 'purr',
    dog: 'woof',
    cow: 'moo',
    pig: 'oink',
  }

  console.log(`A ${animal} goes ${noises[animal]}.`);
}

function getRandom(arr) {
  return arr[Math.floor(Math.random() * arr.length)];
}

const animals = ['cat', 'dog', 'cow', 'pig'];
const randomAnimal = getRandom(animals);

setTimeout(() => {
  makeTalk(randomAnimal);
}, 1000);
矢印関數(shù)を使用して、より簡潔に書き直すことができます:

this undefined矢印関數(shù)の始まりを知りたい場合は、「ES6 ARROW関數(shù):JavaScriptの簡潔な構(gòu)文」を読んでください。

キャンセルタイマーsetTimeout

記事の冒頭で學(xué)んだように、

の返品値は、タイマーをキャンセルするためにthis関數(shù)と組み合わせて使用??できる數(shù)値IDです。

function greet() {
  console.log('Howdy!');
}
setTimeout(greet, 2000);

それが実際にどのように機(jī)能するか見てみましょう。下のペンでは、[カウントダウン]ボタンをクリックすると、カウントダウンが開始されます。カウントダウンが完了した場合、子貓が勝ちます。ただし、「停止カウントダウン」ボタンを押すと、タイマーが停止してリセットされます。 (カウントダウンがゼロに達(dá)したときにクールな効果がない場合、底の右側(cè)に埋め込まれたボタンを使用して再実行ペンを使用します。)

要約

この記事では、関數(shù)の実行を遅らせるために

を使用する方法を示します。また、パラメーターをsetTimeoutに渡す方法、コールバック関數(shù)內(nèi)のsetTimeout値を維持する方法、およびタイマーをキャンセルする方法も示しました。 this JavaScript関數(shù)のFAQ

setTimeout

  • javascriptには何がありますか? setTimeout

    は、JavaScriptの組み込み関數(shù)であり、指定された遅延(ミリ秒)の後に関數(shù)またはコードセグメントの実行をスケジュールできるようにします。

    setTimeout

  • どのように機(jī)能しますか? setTimeout

    関數(shù)を呼び出す場合、実行する関數(shù)またはコード、およびミリ秒の遅延という2つのパラメーターを提供する必要があります。提供された関數(shù)/コードがキューに追加され、指定された遅延の後、実行のためにキューからコールスタックに移動されます。

    setTimeout

  • を使用する代替案は何ですか? setTimeout はい、指定された間隔で関數(shù)を繰り返し、よりスムーズなアニメーションとより良いブラウザーパフォーマンス用の新しい

    などの代替案があります。

    setInterval requestAnimationFrame

  • いつ使用すべきではないのですか
  • ?

    setTimeoutは、JavaScriptで非同期コード実行をスケジュールするための便利なツールですが、場合によっては最良の選択ではない場合があります。正確なアニメーションまたはゲームには、

    を使用する必要があります。複數(shù)の呼び出しをネストしないでください。

    10ミリ秒未満の遅延の不正確さ。リアルタイムアプリケーション(オンラインマルチプレイヤーゲームや金融取引プラットフォームなど)を構(gòu)築している場合は、WebSocketsなどのリアルタイムテクノロジーを選択してください。大規(guī)模なCPU集約型タスクは、必要に応じてWebワーカーを使用できます。 setTimeout requestAnimationFrame setTimeout setTimeout

  • 操作をキャンセルできますか?
  • はい、setTimeout関數(shù)を使用して、スケジュールされたタイムアウトをキャンセルできます。パラメーターとしてで返されるタイムアウトIDが必要です。たとえば、

    clearTimeout setTimeout const timeoutId = setTimeout(myFunction, 1000); clearTimeout(timeoutId);

  • の違いは何ですか?

    setTimeout指定された遅延後に1回実行する機(jī)能をスケジュールしますが、setIntervalは、キャンセルされるかプログラムが停止するまで、指定された間隔で関數(shù)を繰り返し実行するようにスケジュールします。

  • setTimeoutを使用できる最小遅延値はいくらですか?

    最小遅延値は0です。つまり、機(jī)能は現(xiàn)在のスレッドが完了する前に実行されるようにスケジュールされますが、保留中のイベントを処理します。ただし、タイマーの実際の粒度は、ブラウザからブラウザや環(huán)境、さまざまなブラウザーまでさまざまです。一部の環(huán)境は、10ミリ秒未満の遅延をサポートしていない場合があります。

  • setTimeoutnode.jsには何がありますか?

    setTimeoutは、指定された數(shù)ミリ秒數(shù)で特定の関數(shù)またはコードブロックの実行を遅らせるnode.jsの組み込み関數(shù)です。

  • node.jsでsetTimeoutを使用するにはどうすればよいですか?

    次のようにsetTimeout関數(shù)を使用できます。setTimeout(callback, delay);ここで、callbackは、指定されたミリ秒遅延後に実行する関數(shù)です。

  • node.jsでsetTimeoutを使用するためのベストプラクティスは何ですか?

    いくつかのベストプラクティスには、名前付き関數(shù)をコールバックとして使用すること、エラーを優(yōu)雅に処理すること、予期しない遅延や閉塞を避けるためのイベントループの動作を理解することが含まれます。また、次のイベントループサイクル中にすぐに実行するためにsetImmediateを使用することを検討してください。

(入力テキストにはCodepenへのリンクが含まれているため、Codepenのコンテンツを出力に直接レンダリングすることはできません。記事に記載されているリンクにアクセスして、CodePenデモを表示する必要があります。)

以上がSettimeout JavaScript関數(shù):例を掲載したガイドの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Java vs. JavaScript:混亂を解消します Java vs. JavaScript:混亂を解消します Jun 20, 2025 am 12:27 AM

JavaとJavaScriptは異なるプログラミング言語であり、それぞれ異なるアプリケーションシナリオに適しています。 Javaは大規(guī)模なエンタープライズおよびモバイルアプリケーション開発に使用されますが、JavaScriptは主にWebページ開発に使用されます。

JavaScriptコメント:短い説明 JavaScriptコメント:短い説明 Jun 19, 2025 am 12:40 AM

JavaScriptcommentsEareEssentialential-formaining、およびGuidingCodeexecution.1)single-linecommentseared forquickexplanations.2)多LinecommentsexplaincomplexlogiCorprovidededocumentation.3)clarifyspartsofcode.bestpractic

JSで日付と時間を操作する方法は? JSで日付と時間を操作する方法は? Jul 01, 2025 am 01:27 AM

JavaScriptで日付と時間を処理する場合は、次の點(diǎn)に注意する必要があります。1。日付オブジェクトを作成するには多くの方法があります。 ISO形式の文字列を使用して、互換性を確保することをお勧めします。 2。時間情報を取得および設(shè)定して、メソッドを設(shè)定でき、月は0から始まることに注意してください。 3.手動でのフォーマット日付には文字列が必要であり、サードパーティライブラリも使用できます。 4.ルクソンなどのタイムゾーンをサポートするライブラリを使用することをお勧めします。これらの重要なポイントを習(xí)得すると、一般的な間違いを効果的に回避できます。

JavaScript vs. Java:開発者向けの包括的な比較 JavaScript vs. Java:開発者向けの包括的な比較 Jun 20, 2025 am 12:21 AM

javascriptispreferredforwebdevelopment、whilejavaisbetterforlge-scalebackendsystemsandroidapps.1)javascriptexcelsininintingtivewebexperiences withitsdynAmicnature anddommanipulation.2)javaofferstruntypyping-dobject-reientedpeatures

なぜの下部にタグを配置する必要があるのですか? なぜの下部にタグを配置する必要があるのですか? Jul 02, 2025 am 01:22 AM

PLACSTHETTHETTHE BOTTOMOFABLOGPOSTORWEBPAGESERVESPAGESPORCICALPURPOSESESFORSEO、userexperience、andDesign.1.IthelpswithiobyAllowingseNStoAccessKeysword-relevanttagwithtagwithtagwithtagwithemaincontent.2.iTimrovesexperiencebyepingepintepepinedeeping

JavaScript:効率的なコーディングのためのデータ型の調(diào)査 JavaScript:効率的なコーディングのためのデータ型の調(diào)査 Jun 20, 2025 am 12:46 AM

javascripthassevenfundamentaldatypes:number、string、boolean、undefined、null、object、andsymbol.1)numberseadouble-precisionformat、有用であるため、有用性の高いものであるため、but-for-loating-pointarithmetic.2)ストリングリムムット、使用率が有用であること

DOMでのイベントの泡立ちとキャプチャとは何ですか? DOMでのイベントの泡立ちとキャプチャとは何ですか? Jul 02, 2025 am 01:19 AM

イベントキャプチャとバブルは、DOMのイベント伝播の2つの段階です。キャプチャは最上層からターゲット要素までであり、バブルはターゲット要素から上層までです。 1.イベントキャプチャは、AddEventListenerのUseCaptureパラメーターをTrueに設(shè)定することにより実裝されます。 2。イベントバブルはデフォルトの動作であり、UseCaptureはfalseに設(shè)定されているか、省略されます。 3。イベントの伝播を使用して、イベントの伝播を防ぐことができます。 4.イベントバブルは、動的なコンテンツ処理効率を改善するためにイベント委任をサポートします。 5.キャプチャを使用して、ロギングやエラー処理など、事前にイベントを傍受できます。これらの2つのフェーズを理解することは、タイミングとJavaScriptがユーザー操作にどのように反応するかを正確に制御するのに役立ちます。

JavaとJavaScriptの違いは何ですか? JavaとJavaScriptの違いは何ですか? Jun 17, 2025 am 09:17 AM

JavaとJavaScriptは、異なるプログラミング言語です。 1.Javaは、エンタープライズアプリケーションや大規(guī)模なシステムに適した、靜的に型付けされ、コンパイルされた言語です。 2。JavaScriptは動的なタイプと解釈された言語であり、主にWebインタラクションとフロントエンド開発に使用されます。

See all articles