- 607 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 20:38:07.50 ID:QHkNbR5l.net]
- >>599
ID:/b5pS+w+ の言っていることは全面的に正しいが、補足すると、 > thisの正体を見分けるコツはないですか? こんな事を言っている時点で糞サイト(或いはゴミ本)に騙されているから止めとけ。 見分ける必然性も意味もない。単なる暗黙の引数程度でしかなく、 実際にそれなりに組織的にコーディングするとcallはそれなりに使う。 DOM APIのthisがe.currentTargetを指すのはそもそもJava用の仕様、 つまりJavaでもクライアントスクリプトを書けるようにする為の仕様らしい。(とここ5chで聞いた) しかし現在はJavaで書く奴なんて一人もいないし、JavaScriptにおいてはe.targetを全面的に使うのが正しい。 理由は、 1. thisにはe.currentTargetが入っているが、マトモなサイトなら通常はbubbleを利用する為、e.target主体で書くことになる。 つまりこの仕様のthisでは使い物にならない。 2. e.currentTragetで役に立つ場合は、Elementに直接onXXXかaddEventListenerした場合だが、 こんな事をやっているのはjQueryを使っている程度の簡単なサイトだけ。 やれば分かるがbubbleを利用した方が実行効率もよく、コードも綺麗になるから、マトモなサイトは全部そうしてる。 ただし、Elementに直接貼った方が直感的で分かりやすいので、jQueryのような簡単/初心者向けの場合には活用される。 (なおjQueryでもbubble主体で書くことは可能ではあるが、それをやるとjQueryの意味がほぼ無くなるので普通はやってないと思う)
|

|