よく理解できない点があります。今回は、問題を非常によく説明しているコードを見つけました:
リーリー質問が 1 つだけあります:
リーリーこの段落では、elementID
、final_x
、final_y
、interval
が、最初の 1 つを除く、渡される 4 つのパラメーターです。は文字列で、最後の 3 つは数値です。
最初に理解できないのは、なぜこれらのパラメータを 引用符 で追加する必要があるのかということです。2 番目に理解できないのは、+ 記号 がどのような役割を果たしているのかということです。もう 1 つの質問は、elementID
のような文字列に二重引用符が含まれているのはなぜですか? これはどのような状況で必要なのでしょうか?
一般に、プラス記号は文字列の結合に適していると思いますが、ここでは明らかに当てはまりません。引用符のペアは独立したスペースです。その中で囲まれたプラス記号の意味は何ですか?
1.引用符はカンマで囲みます
2.123456+"somestring"→"123456somestring"
3.elementIdはString型パラメータなので引用符を追加します
変数は最終的に文字列に変換されます。必要なパラメータが数値ではなく文字列である場合は、数値 + 引用符で文字を変更します。
ここでの文字列は、setTimeout での eval の使用法に相当し、遅延ミリ秒後に実行するコード文字列を参照します
まず第一に、ここのプラス記号は実際に文字列の結合に使用されます
リーリーの結果は
です リーリーrepeat という名前の文字列変数をパラメータとして setTimeout に渡すだけです。つまり、間隔ミリ秒後に繰り返しが実行されます
リーリーこれは実際には
と基本的に同じです リーリーこのほうがわかりやすいですよね?
ただし、これら 2 つの方法にはまだ違いがあります。一般に、質問者が言及した方法は推奨されません。詳細については、window.setTimeout、javascript setTimeout の関数としての文字列の実行を参照してください。