検索

ホームページ  >  に質問  >  本文

javascript - 遅延実行関数 setTimeout の前の var xxx=null の役割は何ですか?

初めての投稿で申し訳ありません。
マウスを 2 秒間 p 上に置いた後、エフェクトを作成していくつかの機能を実行したいのですが、2 秒を超えると実行されません;
そこで、ネットで setTimeout 関数を見つけ、無事解決しました。ずっと独学なので基礎が弱いです。分からないところがあるので教えてください

コードには合計 3 つの質問がコメントされています。ありがとうございます。
コード:

リーリー
伊谢尔伦伊谢尔伦2755日前571

全員に返信(3)返信します

  • 世界只因有你

    世界只因有你2017-05-19 10:40:43

    1. setTimeout は整数の ID を返します。これは、数値を格納するために事前に変数を宣言するために使用されます。

    2. なぜここで言えないのですか?この変数がどこで見つかるのか知りたいですか?
    3. var是函数作用域的,在function里边声明的变量一出去就没了,你叫另一个匿名函数的clearTimeout

      ここでの if は主に厳密です。
    4. がタイマー番号を正常に返した場合にのみ (初期値が null であるため、返されない場合は間違いなく false になります)、 は返されます。 clearTimeout(timer )この文は、前の実行エラーが発生したときにエラー コードが実行を継続するのを防ぎます。
    5. if主要是严谨,在setTimeout成功返回计时器编号(因为初始是null,如果没返回肯定就false了)的情况下,才会执行clearTimeout(timer)

      返事
      0
  • ringa_lee

    ringa_lee2017-05-19 10:40:43

    まず、setTimeout タイマーは使用後にクリアされます。どのタイマーをクリアするかを知るために、タイマー変更という変数が追加されます。
    2 番目に、関数スコープ。内部変数には関数の外部から直接アクセスできないため、別の関数で使用するには変数を関数の外部で定義する必要があります。
    最後の if(タイマー) は主に、タイマーが閉じられたときにクリア エラーがトリガーされるのを避けるためです。

    返事
    0
  • 某草草

    某草草2017-05-19 10:40:43

    上記お二方、ありがとうございました!

    返事
    0
  • キャンセル返事