JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net (766レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
599
(1): デフォルトの名無しさん [sage] 2020/07/23(木) 07:32:15.26 ID:/b5pS+w+(1/5) AAS
>>595
> のこの$(this)が$("div")を指す理由はなんですか?

DOM APIとの互換性

例えば、これのイベントハンドラの中身を書き換えるならば
$("div").click(function(){
  $(this).css('background','red');
})

このようになる。(おまけで引数のjQuery eventを追加)
$("div").click(function(event){
  this.style.background = 'red';
})

このイベントハンドラ(function)はDOM APIと互換性があるので全く同じように使える。
(引数のeventはjQuery eventではなくDOM APIの eventだがある程度の互換性がある)
divElement.addEventListener('click', unction(event){
  this.style.background = 'red';
})

つまりイベントハンドラをDOM APIのものと互換性があるようにしているのが理由
そうすることで、コードを相互に変換しやすくなる。
例えば後からjQuery化するときなど少しずつ移植できる。
600
(1): デフォルトの名無しさん [sage] 2020/07/23(木) 07:36:27.79 ID:/b5pS+w+(2/5) AAS
>>598
thisは実行時に変わるからコードを見てもわからない
つまり呼び出されているコードを見てもわからない。
「誰が呼び出しているか?」を知る必要がある。

同じthisであっても「あれ」に登録して「あれ」から
呼び出されれば「それ」とは違うthisの場合がある。

だからthisが何かは仕様を調べるしかない
関数の引数にobjが入ってる場合、このobjの正体はなんですか?と
言ってるのと同じ質問だよ
601
(1): デフォルトの名無しさん [sage] 2020/07/23(木) 07:39:49.30 ID:/b5pS+w+(3/5) AAS
>595
Javaではthisを変えられることができないが
JavaScriptはthisは呼び出し側で与えるオブジェクト
JavaScriptだけではなくRubyやPerlなどいくつかの言語は呼び出し側でthisを変更できる
604: デフォルトの名無しさん [sage] 2020/07/23(木) 08:24:35.38 ID:/b5pS+w+(4/5) AAS
>>603
違うぞ。eventはおまけ。thisの話とは直接関係ない
605: デフォルトの名無しさん [sage] 2020/07/23(木) 08:25:10.27 ID:/b5pS+w+(5/5) AAS
ようするにjQueryはブラウザ標準のDOM APIと
互換性をもたせて作られているということ
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.046s