JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net (767レス)
JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1449440793/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
74: デフォルトの名無しさん [sage] 2016/04/25(月) 04:10:55.58 ID:wavxOtJH >>732 currentValue が thisになるのなんて、 DOMのイベントハンドラの中でthisが要素になるぐらいのもんだろ。 そもそもDOMはJavaScriptではない。 そもそもDOMがおかしいんだよ。 http://mevius.5ch.net/test/read.cgi/tech/1449440793/74
79: デフォルトの名無しさん [sage] 2016/04/25(月) 22:39:46.80 ID:wavxOtJH >>76 > jQueryがthisを多用するのは仮引数を書く手間を減らす為だけに定められた歪なものだ 違うよ。DOMの仕様に合わせただけ。 jQueryのイベントハンドラは、DOMのイベントハンドラと 互換性を考慮されて作られている。 例えば、この2つは同じように動く $('#btn').on('click', function(event) { alert(this.id + event.currentTarget.id) }); document.getElementById('btn').addEventListener('click', function(event) { alert(this.id + event.currentTarget.id) }); どちらのイベントハンドラもthisは同じものを指しており、 またjQueryのeventオブジェクトはDOMのeventオブジェクトの仕様と 互換性を持たせて実装されている。 高い互換性ではないが、それでも程度はあるから移行が楽になる。 http://mevius.5ch.net/test/read.cgi/tech/1449440793/79
80: デフォルトの名無しさん [sage] 2016/04/25(月) 22:47:27.73 ID:wavxOtJH >>76 > jQueryはthisをローカル変数でも引数でもない第三の格納倉庫として利用し、コード上でthis値が変更されることを許さない > this値に変更されて困る重要なデータを格納するのが当然と思う風潮が一部で生まれている気がしないでもない そんなことしません。 そう言う用途として使うのは、DOM要素のdatasetだよ。 このdatasetっていうのは比較的最近できたもので昔はなかった。 だけどjQueryは要素ごとの情報の格納場所の必要性を昔から認識していたため datasetが作られるよりも前からdata()メソッドと言うのを持っていた。 そしてdata()メソッドがある理由の一つとして、 thisに直接値を格納するとブラウザのバグでメモリリークになる可能性があるから 「this(DOM要素)にデータを格納してはいけない。」と言っていたぐらいだ。 事実はあんたが思っているのと正反対だよ。 http://mevius.5ch.net/test/read.cgi/tech/1449440793/80
81: デフォルトの名無しさん [sage] 2016/04/25(月) 22:49:10.70 ID:wavxOtJH これね。 https://api.jquery.com/data/ The .data() method allows us to attach data of any type to DOM elements in a way that is safe from circular references and therefore from memory leaks. http://mevius.5ch.net/test/read.cgi/tech/1449440793/81
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s