初めての投稿で申し訳ありません。
マウスを 2 秒間 p 上に置いた後、エフェクトを作成していくつかの機能を実行したいのですが、2 秒を超えると実行されません;
そこで、ネットで setTimeout 関数を見つけ、無事解決しました。ずっと独学なので基礎が弱いです。分からないところがあるので教えてください
コードには合計 3 つの質問がコメントされています。ありがとうございます。
コード:
世界只因有你2017-05-19 10:40:43
setTimeout
は整数の ID を返します。これは、数値を格納するために事前に変数を宣言するために使用されます。
var
是函数作用域的,在function
里边声明的变量一出去就没了,你叫另一个匿名函数的clearTimeout
if
は主に厳密です。 は返されます。 clearTimeout(timer )
この文は、前の実行エラーが発生したときにエラー コードが実行を継続するのを防ぎます。
if
主要是严谨,在setTimeout
成功返回计时器编号(因为初始是null,如果没返回肯定就false了)的情况下,才会执行clearTimeout(timer)
ringa_lee2017-05-19 10:40:43
まず、setTimeout タイマーは使用後にクリアされます。どのタイマーをクリアするかを知るために、タイマー変更という変数が追加されます。
2 番目に、関数スコープ。内部変数には関数の外部から直接アクセスできないため、別の関数で使用するには変数を関数の外部で定義する必要があります。
最後の if(タイマー) は主に、タイマーが閉じられたときにクリア エラーがトリガーされるのを避けるためです。