検索

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

javascript - setTimeout 括弧内に一重引用符、二重引用符、プラス記号があるのはなぜですか?

リーリー
phpcn_u1582phpcn_u15822753日前630

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

  • 怪我咯

    怪我咯2017-05-19 10:16:49

    関数AddH(id) {

    リーリー

    }
    これは自分で作成した関数であり、setTimeout("AddH('"+id+"')",10) を使用して AddH 関数を定期的に呼び出します。一番外側の二重引用符は存在する場合と存在しない場合がありますが、これはほとんど影響しません。setTimeout は文字列を受け入れてコードとして実行できます。次に、内側の一重引用符のペアは、ID に基づいてラベル オブジェクトを取得するために関数内の document.getElementById(id) を使用する必要があるためです。たとえば、ID が hello の場合、渡す値は省略されます。この場合、これは hello であり、内部的に渡されると document.getElementById(hello) になります。これは、document.getElementById(parameter) 関数の受信パラメータが文字列型である必要があるため、誤りです。はい、引用符を追加すると、渡される値は document.getElementById('hello') になります。このようにして、スクリプト構文を通じてラベル オブジェクトを取得できます。 最も内側の二重引用符とプラス記号については、文字列 "hell" と同様に、最後に変数 var i = "ow" を追加する場合、直接追加すると "hell"i になります。このように書くとエラーが報告されるので、接続記号 + 記号を使用する必要があります。 このように "hell" + i と書くと、"hello" で構成される新しい文字列になります。コードでは、変数 id が中央に記述されているため、接続するには 2 つのプラス記号を使用する必要があります。実際、一重引用符と二重引用符は別の方法でも記述できます。エスケープ文字の使用方法を知っていれば、ここでは詳しく説明しません。後で徐々に理解できるようになります。

    返事
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:16:49

    setTimeout は実行するコードとして文字列を受け入れることができます。

    リーリー

    ただし、文字列を setTimeout に渡すことはお勧めしません

    リーリー

    返事
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-19 10:16:49

    追加しない場合、関数は自動的に実行されます

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:16:49


    最初のパラメータが文字列の場合、それは eval と同等であり、自己実行できます。


    出典

    返事
    0
  • キャンセル返事