2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

JavaScript情報交換所(プログラミング既習者専用)

1 :デフォルトの名無しさん:2015/12/07(月) 07:26:33.87 ID:NYLGCW0V.net
実際にJavaScriptを書いている人の情報交換所です。
プログラミング既習者専用です。初心者の方はご遠慮下さい。
玄人の方、歓迎致します。

558 :デフォルトの名無しさん:2020/05/05(火) 11:39:37 ID:esp/1iza.net
>>557
勿論知ってるぞ

Javaのが「関数ポインタ」ではなく「関数参照」だというのならそうなのだろう
見て分かるとおり、俺はJavaは使ってないからその辺は正確ではない

ただぶっちゃけ、ポインタと参照はほぼ等価だし、
C++のようにそれらが別物だと明示的な言語以外では混同してても全く問題ないと思うが
実際、JavaScriptにおいて「参照」を「ポインタ」と言い換えても何ら問題ないだろ

どう見ても俺の揚げ足取りをしようとしているように見えるが、
それが価値あると思うなら頑張ってどうぞ
ただし俺は馬鹿と話す意味はないと見たらすぐ降りる
その場合はお前の勝ちでいい


んで、関数ポインタと参照の違いを知っているお前は、どんな素晴らしい知見を披露してくれるの?
是非よろしく

559 :デフォルトの名無しさん:2020/05/05(火) 11:48:55 ID:n32zrCmj.net
> 実際、JavaScriptにおいて「参照」を「ポインタ」と言い換えても何ら問題ないだろ

だめ。ポインタは数値で置き換えられるアドレスであり
ポインタはアドレス加算などの演算ができるもの
アドレス加算ができない以上それは参照であってポインタではない
そしてJavaで参照はずっと前からできる

560 :デフォルトの名無しさん:2020/05/05(火) 12:10:13 ID:esp/1iza.net
>>559
> そしてJavaで参照はずっと前からできる
Java8で新しく出来るようになったのは、『関数』参照な
話をずらすな
そして>>547が理解出来てないのはこれだ

> ポインタはアドレス加算などの演算ができるもの
> アドレス加算ができない以上それは参照であってポインタではない
それはC++での定義な
RustやGoも「ポインタ」を扱えるが、こちらは最初から加算なんて出来ないようになっている(確か)
少なくともRustやGoの定義する「ポインタ」はそう

というか、C++の参照自体が「ポインタは危険なのでコンパイラ側で対策して『参照』と命名しました」でしかないし、
JavaやC#で言う参照も全くこれと同じなのだが、当然実体は「ポインタ」でしかなく、
当然関数呼び出しの引数にはまんま「ポインタ」が積まれる

というかそこら辺理解出来てないのはやっぱりJavaしか知らない馬鹿だからだ
ポインタと参照が実体は同じだ、ということを理解出来ないのも
(論理的な意味が違うだけで、物理的な意味や値は同じ)


いずれにしてもJavaってのはかなり簡素化された言語で、
コンピューターの実体(物理構造)を知らなくてもいいように出来ている
これ自体はいいことなのだが、
その程度の知識なのに「ポインタと参照は違う(キリッ」とかやるのは間違ってる
自分の知識が全く足りてないことを認めて、きちんと学んだ方がいい
ポインタはCの鬼門だとされているが、現実として、ポインタを扱った方が動作効率が圧倒的によく、
結果的にJavaでもJavaScriptでも、或いは他言語でも、内部動作はポインタで作られているので、
どうしてこういう動きをするのか、どうしてこういう仕様なのか、を理解するのは、ポインタの理解が不可欠だ
ある程度以上のプログラマになる為には、ポインタの理解から逃げているようでは無理だ
これが逆にJavaプログラマが相変わらず糞な遠因でもある

561 :デフォルトの名無しさん:2020/05/07(木) 13:23:56.11 ID:fANici3H.net
>>547
> いやJavaはひととおりマスターしたから
> オブジェクト指向はバッチリ理解している。

>548
> Javaは体系的にスッキリしてるから実に分かりやすい。

プログラミング言語をJavaしか使ったことないJavaおじさんか?

562 :デフォルトの名無しさん:2020/05/07(木) 22:35:41 ID:U9K3TqbR.net
>>561
この話題を続ける意味もないと思うが

Javaおじさんですらないはず
多分Java若者馬鹿老害

Java8で関数ポインタが導入された為、
それ以前に完全にJava7をマスターしている「Javaおじさん」なら導入するかどうかの大議論をしているはず
少なくともJavaの一線で働いている奴が知識を6年間もupdateしてないとは考えづらい
使ったことが無くても、また、(コーディングルール上)職場で使えないとしても、全く知らないというのはない(と思いたい)
そしてオブジェクト指向への理解も皆無だ、これは「Javaおじさん」ならあり得ない

最近の若者はプログラミング言語の選択肢が多く、若干戸惑っているように思える
ぶっちゃけ最初の最初の言語なんてどれでも大差ないのだが、「僕が選んで学んだ言語すごい=僕すごい」をやる奴が多すぎる
こいつも何らかの理由でJavaを選択し、「Javaすごい」とポジショントークをしているだけ
おそらく年齢は20代、プログラミング言語はJavaしか知らず、Java7の本でJavaを勉強した人だ
ただこの時点でこの老害っぷりは酷い
一応言っておくが、年齢ではなく、自分の考え方が絶対に正しいと固執し始めると老害になる
546はもうちょっと真摯にプログラミングをした方がいい

ただしJavaがスッキリ、というか、簡単なのは事実だ
だから大受けした
そしてPythonの方がもっと簡単だから、もっと大受けしつつあるだけ


ただ現実問題として、JavaScriptのオブジェクト指向なんてどうせ使い物にならないから、無視でいい
しかしまた現実として、今現在のシェアはJavaScript>Javaなのだから、
どうしてそうなったのかが理解出来ないうちは「Javaすごい=僕すごい」みたいな幼稚な考え方は止めた方がいい
Java自体が凄かったのも事実だが、それも過去になりつつある

563 :デフォルトの名無しさん:2020/05/12(火) 13:08:44 ID:4J1vnKbM.net
'(シングルクウォーテーション)と"(ダブルクウォーテーション)の使い分けに悩みます。
悩みを消しこれだと自信を持って使う考え方はありますか?
どっちを使ってもいい場合とどちらか限定の使い方があるので気持ち悪いですw

564 :デフォルトの名無しさん:2020/05/12(火) 13:33:40 ID:01D/nxpT.net
>>563
シェルスクリプトだと、'と"とは、展開の有無等であきらかに異なるから、
それにしたがって使い分ける。

どちらも同じって場合は、文字列に空白が含まれる場合や入れ子になる場合に"を使って、
その他、基本的には'でくくってる。
jsやpythonなんかがこれに該当。

"しか使えないバッチファイルは文句なしに"。
ただし、*nix由来のプログラムの場合、オプション内部で'を入れ子で使うことがある。

こんな感じ?

565 :デフォルトの名無しさん:2020/05/13(水) 06:16:03.92 ID:VSt/R8YQ.net
VSCode のデフォルトが、Beautify だろ。
拡張機能のPrettier とか

'・" かどうかは、これらの設定で変わる

HTML の属性が、" で囲むから、それらの文字列をさらに囲むには、' を使う

JavaScript の話は、web 制作管理板の方で聞いてください!
この板には、あまり人がいないから

566 :質問者:2020/05/13(水) 13:14:18.33 ID:5xfr/P29.net
こちらで良いかわかりませんが、
・web上でモニタリングをしたい
・10秒ごとに自動更新
・固定htmlに要素を用意。javascriptで変数を持ち、値によって要素の画像を切り替える。
getElementById(*).src=****
setTimeout(this,10000)
これをサーバーに置いて10人くらいがアクセスしたら、サーバーの負荷はどうでしょうか?
画像切り替えるときにサーバーにアクセスするので、やはりだめでしょうか?
わかる方いましたらお願いいたします。

567 :デフォルトの名無しさん:2020/05/13(水) 13:59:35.07 ID:VSt/R8YQ.net
数枚程度なら、すべての画像を送ってしまって、
ブラウザ側で、スライダーなどで切り替える

Google map みたいに、無数の画像があるなら、
ajax でサーバー側にアクセスして、必要な画像を送ってもらう

JavaScript の話は、web 制作管理板の方で聞いてください!
この板には、あまり人がいないから

568 :デフォルトの名無しさん:2020/05/13(水) 14:02:19.06 ID:WBibu7Ic.net
>>566
いろいろイミフ

>・web上でモニタリングをしたい
誰が何をどうやってモニタリングするの?

>・10秒ごとに自動更新
何を更新するの?

>これをサーバーに置いて10人くらいがアクセスしたら、サーバーの負荷はどうでしょうか?
クライアント側JavaScriptの話でサーバー負荷とどう関係があるの?

569 :デフォルトの名無しさん:2020/05/13(水) 14:12:08.64 ID:shZVwRy5.net
>>564
そうざますかありがとう
どっちみち慣れないうちは混乱しますね
JSだけのエンジニアなら当然その人の哲学や宗教により迷わず判断してると思うけど
こっちはJSは片手間でやっててさわるのが数年ぶりということがあるから混乱しますわ

570 :デフォルトの名無しさん:2020/05/13(水) 14:14:46.69 ID:URUm4HTQ.net
何の要素か知らんが、
「cssで作るスライドショー」とかでググったら答えが落ちてそう

571 :デフォルトの名無しさん:2020/05/13(水) 14:21:07.89 ID:WBibu7Ic.net
>>569
自分で決められないならとりあえずビッグネームのstyle guideに従っとけばいい

JavaScript =>single quote
HTML => double quote
CSS => single quote
https://google.github.io/styleguide/jsguide.html#features-strings-use-single-quotes
https://google.github.io/styleguide/htmlcssguide.html#HTML_Quotation_Marks
https://google.github.io/styleguide/htmlcssguide.html#CSS_Quotation_Marks

572 :質問者:2020/05/13(水) 15:12:19.72 ID:5xfr/P29.net
>>567
ありがとうございます。

>>568

>>・web上でモニタリングをしたい
>誰が何をどうやってモニタリングするの?

やりたい事は、100個のセンサや機械の情報をブラウザ上にリアルタイムで表示して、異常ならば、ブラウザを見てる人に通知したいということです。

>・10秒ごとに自動更新
センサーや機械の情報です。


>>これをサーバーに置いて10人くらいがアクセスしたら、サーバーの負荷はどうでしょうか?
>クライアント側JavaScriptの話でサーバー負荷とどう関係があるの?

javascriptで動的にイメージ画像を切り替えたら、結局サーバーにアクセスすることになってしまうのではと思ったのです。
画像イメージはサーバー上に置かれているので。一回アクセスしたらキャッシュされるかもしれませんが。

>>570
ありがとうございます。

573 :デフォルトの名無しさん:2020/05/13(水) 15:52:15 ID:WBibu7Ic.net
>>572
なるほど

サーバー側のセンサーや機械の状態更新を
クライアントからのアクセスによってトリガーする仕組みだと不味いけど
そうじゃなくてサーバー側ですでに存在してるデータに対して
10人くらいが数秒に1回アクセスするんなら
その負荷は微々たるものだよ

各状態に応じた画像は
最初にモニタリング用画面にアクセスした時に全部ダウンロードさせておいて
数秒に1回AJAXでサーバー側の状態のみ取得してその値によって画面表示を切り替えればいい

574 :質問者:2020/05/13(水) 16:03:47.03 ID:5xfr/P29.net
>>573
そうです。

>最初にモニタリング用画面にアクセスした時に全部ダウンロードさせておいて

この技術がわかりません。何をキーワードにして調べれば良いのでしょうか、すみませんが、お願いいたします。

575 :質問者:2020/05/13(水) 16:51:28.10 ID:5xfr/P29.net
すみません。解決しました。
最初にリロードしたときに正常な画像だけでなく、異常な画像もリンク(表示しない)しておけばよいのですね。
そうしておけばブラウザ側にキャッシュされるので。

576 :デフォルトの名無しさん:2020/05/13(水) 17:25:36.80 ID:WBibu7Ic.net
>>575
いろいろ方法あるけど一番堅いのはCSSスプライト
https://developer.mozilla.org/ja/docs/Web/CSS/CSS_Images/Implementing_image_sprites_in_CSS

他には
- visibility: hidden
- JavaScriptでページロード時に画像を読み込む
- 凡例として異常時の画像も一つ表示しておく
など

この辺の話はJSのプログラミングの話じゃないので
誰か書いてたけどweb制作板で聞いたほうがいいかも

577 :質問者:2020/05/13(水) 17:50:05 ID:5xfr/P29.net
>>576

本当にいろいろとありがとうございました。

578 :564:2020/05/13(水) 18:01:05 ID:VSt/R8YQ.net
>>569

>>565
にも書いたけど、

VSCode のデフォルトが、Beautify で、拡張機能のPrettier が有名

Ruby on Rails で有名な、Airbnb などのStyle Guide だろ

579 :デフォルトの名無しさん:2020/05/13(水) 18:09:08 ID:VSt/R8YQ.net
>>572
>画像イメージはサーバー上に置かれているので。一回アクセスしたらキャッシュされるかもしれません
確かに、同じファイルパスなら、キャッシュを使う

データは、ajax で、JSON でやりとりすることが定番

580 :質問者:2020/05/14(木) 00:27:54.68 ID:XcM6moP2.net
>>579

はい、ありがとうございます。

581 :デフォルトの名無しさん:2020/06/20(土) 11:09:53 ID:iiFnSxTf.net
できる訳ないだろうなと思いつつ聞くんだけど、javascriptでローカルのファイルを別のディレクトリに移動させたりすることってできる?

582 :デフォルトの名無しさん:2020/06/20(土) 13:24:24 ID:hfA4Ec7B.net
つNode

583 :デフォルトの名無しさん:2020/06/20(土) 13:27:05 ID:hfA4Ec7B.net
つcscript/wscript

584 :デフォルトの名無しさん:2020/06/20(土) 20:45:20.50 ID:iiFnSxTf.net
>>582
これはサーバサイドでjs書いたときの話だもんね

ユーザーがブラウザ操作してる時に動くブラウザ上のjsでファイル操作がしたいんだよなあ
そんなこと出来たらやべーからまあ無理なんだろうけど、なんか代わりの手段ないものか

585 :デフォルトの名無しさん:2020/06/20(土) 21:17:03.49 ID:hfA4Ec7B.net
>>584
プラットフォームとしてブラウザが欲しいのなら electron = chromium + node がそれだろ。
代表アプリはatomとVSCode。
サイトのJSでユーザーのローカルファイルを弄りたいというのなら、それが出来るようなら困るだろ。

586 :デフォルトの名無しさん:2020/06/20(土) 21:21:46.31 ID:hfA4Ec7B.net
>>584
あと、今現在使っていいか、使えるか、というのはあるが、技術的にはActiveX。
wiki読めば大体分かるはず。

587 :デフォルトの名無しさん:2020/06/29(月) 12:03:45.83 ID:Na3g7Gku.net
うんち

588 :デフォルトの名無しさん:2020/06/29(月) 12:04:05.78 ID:Na3g7Gku.net
htmlタグに書くonclick=の中には
JSの処理を直接書くこともfunction(){}と書いてその中に処理を書くことも、どちらもokですか?その違いはありますか?

589 :デフォルトの名無しさん:2020/06/29(月) 12:07:23.28 ID:Na3g7Gku.net
onclick=のあと関数名(関数が入った変数)を書く場合は()は書かないほうがいいですか?書くべきですか?


<button onclick='unko'> or <button onclick='unko()'>

unko=function(){
alert('unko!');
}

みたいなときです。

590 :デフォルトの名無しさん:2020/06/29(月) 12:51:41.62 ID:I7ZZ3pdS.net
最初に喧嘩売ってきてわろた

591 :デフォルトの名無しさん:2020/06/29(月) 12:54:40.10 ID:ze6DZkOI.net
>>588
こういう感じで、直接内容も書けるみたい

on@click='con@sole.log("abc")'

注意! 書き込めないため、@ を入れました

>>589
on@click='unko()'

みたいに、すべて( ) が付いている

それと、JavaScript の質問は、web制作管理板の方へ書き込んでください!

こちらの板は、web制作管理板が荒らしに荒らされた時に、
緊急避難的に立てられたものだから、今は使われていない

592 :デフォルトの名無しさん:2020/06/29(月) 21:14:29 ID:WKcpUWSm.net
>>587-589
オムツがまだ取れてなくてウンコ臭い初心者はWeb板へ
何度も言われていることだが

それ以前にお前レベルの超超超超初心者はそもそもここ(5ch)に来るべきではない
各自が勝手に意見を言ってるだけだから、それなりの確率で間違いや勘違いはどうしても発生する
それを自分で修正する能力がないうちは、5chを使うのは止めた方がいい
超超超超初心者なら、少なくとも間違っていたら訂正してもらえる場所、
つまり本か信頼出来るWebサイトを参考にするべきだ

なお俺はお前みたいなウンコお漏らし初心者用の本やサイトは知らない
というか、そんな、始めて3時間で通過するレベルの事柄を、ネットで質問しようとすること自体、かなり頭がおかしい
少なくともお前はプログラマには向いてないし、間違って就職しても浮きまくって仲間に入れず不幸な人生になるから止めとけ
それを教えてもらいたければ、「1週間の集中講座ででWebページ開設出来ます!」みたいなセミナーとかに行け
JavaScriptの部を始めて10分後にはそれについて教えてくれるだろう

593 :デフォルトの名無しさん:2020/06/30(火) 01:12:09.33 ID:l6PnVpoX.net
>>552
通りすがりだけどソレみて長年のモヤモヤがはれました、ありがとう。

594 :デフォルトの名無しさん:2020/07/23(木) 00:01:42.43 ID:qAfVnVsp.net
$("div").click(function())

595 :デフォルトの名無しさん:2020/07/23(木) 00:02:03.83 ID:qAfVnVsp.net
$("div").click(function(){
})

596 :デフォルトの名無しさん:2020/07/23(木) 00:05:54.40 ID:qAfVnVsp.net
$("div").click(function(){
$(this).css('background','red');
})

のこの$(this)が$("div")を指す理由はなんですか?
Javaではthisというのはそれを定義したクラスのインスタンスを指すと習いましたが。

597 :デフォルトの名無しさん:2020/07/23(木) 00:38:57.14 ID:cGFBf2BV.net
jQuery, Haxe のthis は、JavaScript/TypeScript のthis とは異なる。
this がwindow を指したり、おかしな部分があるので、それを変えている

それと、JavaScript の質問は、web制作管理板の方へ書き込んでください!

こちらの板は、web制作管理板が荒らしに荒らされた時に、
緊急避難的に立てられたものだから、今は使われていない

598 :デフォルトの名無しさん:2020/07/23(木) 07:12:59.16 ID:qAfVnVsp.net
>>597
「おかしな部分があるので、それを変えている」とは?

599 :デフォルトの名無しさん:2020/07/23(木) 07:13:47.98 ID:qAfVnVsp.net
thisの正体を見分けるコツはないですか?

600 :デフォルトの名無しさん:2020/07/23(木) 07:32:15.26 ID:/b5pS+w+.net
>>596
> のこの$(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化するときなど少しずつ移植できる。

601 :デフォルトの名無しさん:2020/07/23(木) 07:36:27.79 ID:/b5pS+w+.net
>>599
thisは実行時に変わるからコードを見てもわからない
つまり呼び出されているコードを見てもわからない。
「誰が呼び出しているか?」を知る必要がある。

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

だからthisが何かは仕様を調べるしかない
関数の引数にobjが入ってる場合、このobjの正体はなんですか?と
言ってるのと同じ質問だよ

602 :デフォルトの名無しさん:2020/07/23(木) 07:39:49 ID:/b5pS+w+.net
>596
Javaではthisを変えられることができないが
JavaScriptはthisは呼び出し側で与えるオブジェクト
JavaScriptだけではなくRubyやPerlなどいくつかの言語は呼び出し側でthisを変更できる

603 :デフォルトの名無しさん:2020/07/23(木) 08:18:34.22 ID:qAfVnVsp.net
>>600-602
ありがとうございます。
深いですね。
まだちゃんと理解できてないですが
ゆっくり吟味して考えてみます。

604 :デフォルトの名無しさん:2020/07/23(木) 08:20:56.24 ID:qAfVnVsp.net
this=eventとなっているということかな?

605 :デフォルトの名無しさん:2020/07/23(木) 08:24:35.38 ID:/b5pS+w+.net
>>604
違うぞ。eventはおまけ。thisの話とは直接関係ない

606 :デフォルトの名無しさん:2020/07/23(木) 08:25:10.27 ID:/b5pS+w+.net
ようするにjQueryはブラウザ標準のDOM APIと
互換性をもたせて作られているということ

607 :デフォルトの名無しさん: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の意味がほぼ無くなるので普通はやってないと思う)

608 :デフォルトの名無しさん:2020/07/23(木) 20:39:00.72 ID:QHkNbR5l.net
3. それなりに組織的にコーディングすると、どうしてもイベントハンドラで共通の関数を使いたい要求が出てくる。
 しかしイベントハンドラだとthisがe.currentTargetによって潰されているので、共通関数をクロージャ(最終段はグローバル)で掴むしかないが、
 クロージャはクローズ(追加不能だしコード配置が限定される=C++で言うクラスはクローズ、namespaceはオープンと同じ意味のクローズ)ので、
 現実的には使いにくく、俺はイベントハンドラを集めたオブジェクト(その中に共通関数も入っている)をthisとしてcallし直して、
 イベントハンドラ内ではthis.my_sub_function()で共通関数を呼べるようにしている。
 この場合、thisは単なるオブジェクトなので、継承出来るのがいい。(共通関数の共通関数を__proto__側に追い出せる)
 どうせthisが使い物にならない仕様なので他の連中も同様にやっているとは思う。

なお俺はjQuery不要派だがjQuery自体は初心者には分かりやすく偉大だと思っている。
実際にjQueryを使っていて問題ないのなら使うこと自体も悪いことではない。
ただしそれは世の中のマトモなサイト≒ガチのプログラマーが本気で書いたサイトではほぼ使われていない手法だということも理解しておいた方がいい。
といっても今の君には分からないだろうが、イベントハンドラ内でthisをe.currentTargetとして利用することはガチのサイトではほぼ無い、ということ。
今はどうせ何も分かってない状態なんだろうから、それならイベントハンドラ内ではthisを使わずe.currentTargetを使う癖を付けた方が多分いい。
それ以前にbubbleを使うようにした方がいいが。

609 :デフォルトの名無しさん:2020/07/23(木) 20:41:48.09 ID:QHkNbR5l.net
といっても多分さっぱり何がなにやら、だと思うが、そういうものだと思っておいてくれ。
質問の質問を受けていたら話が進まないのでそれは断る。

610 :デフォルトの名無しさん:2020/07/23(木) 21:58:10.24 ID:k24nyzXR.net
>>607
>  (なおjQueryでもbubble主体で書くことは可能ではあるが、それをやるとjQueryの意味がほぼ無くなるので普通はやってないと思う)

イベントのキャプチャフェーズとバブリングフェーズの話をしてるなら
jQueryはバブリングフェーズしか対応してません
jQueryの意味がなくなる?なぜですか?

そもそもIE8以前がキャプチャフェーズに対応してないので
それ以前からあるjQueryでは実装が不可能です。
(jQuery 4.0では実装されるらしい)


間違ったことを書かないでください

611 :デフォルトの名無しさん:2020/07/23(木) 22:00:14.35 ID:k24nyzXR.net
>>608
> 現実的には使いにくく、俺はイベントハンドラを集めたオブジェクト(その中に共通関数も入っている)をthisとしてcallし直して、
> イベントハンドラ内ではthis.my_sub_function()で共通関数を呼べるようにしている。
> この場合、thisは単なるオブジェクトなので、継承出来るのがいい。(共通関数の共通関数を__proto__側に追い出せる)

やめましょう。無関係のイベントハンドラをまとめることは
単一責任の原則に違反しています。

612 :デフォルトの名無しさん:2020/07/23(木) 22:01:00.61 ID:k24nyzXR.net
>>608
> イベントハンドラ内でthisをe.currentTargetとして利用することはガチのサイトではほぼ無い、ということ。
いいえ。殆どがthisを使っています。e.currentTargetは冗長なだけです。

613 :デフォルトの名無しさん:2020/07/23(木) 22:41:43.25 ID:k24nyzXR.net
>>607
> DOM APIのthisがe.currentTargetを指すのはそもそもJava用の仕様、
> つまりJavaでもクライアントスクリプトを書けるようにする為の仕様らしい。(とここ5chで聞いた)

逆です。Javaではe.currentTargetを使い、thisは使えません。
(当時の)Javaでは言語仕様上の制限でイベントハンドラとして関数を使用することはできません。
イベントハンドラはオブジェクトである必要があります。

イベントハンドラ自体がオブジェクトであるため、thisはイベントハンドラオブジェクトになります。
そのためJavaでthisは使えません。

また昔のIEはaddEventListnerがなくattachEventを使いますが。
attachEventの場合thisはwindowでありe.currentTargetではありません。
つまり初期のIEのDOM APIはもちろんJavaでも使えますが
event.srcElement(e.currentTarget相当)しか実装されてないということです。
thisがe.currentTargetなのはJavaScriptのために作られた仕様です。

614 :デフォルトの名無しさん:2020/07/23(木) 22:44:12.81 ID:k24nyzXR.net
>>607
> JavaScriptにおいてはe.targetを全面的に使うのが正しい。
いいえ。e.targetは廃止されてます。
https://developer.mozilla.org/ja/docs/Web/API/Event/target

わざと正反対のことを書いてるんですかね?

615 :デフォルトの名無しさん:2020/07/23(木) 22:47:04.66 ID:QHkNbR5l.net
>>610
キャプチャフェーズの話はしてない。
なお俺の判断では、キャプチャフェーズは余程のパッチ当て以外では使うべきではない。
あれは使わないでも十分組めるし、そもそもキャプチャフェーズを使わなければならないシチュエーションがまるでない。
だから俺は何であの仕様が入れられたのか不明なのだが、君はそれが分かるか?
具体的に、キャプチャフェーズのユースケースを知りたい。

> jQueryの意味がなくなる?なぜですか?
jQueryは基本的に
queryしたElementに何か(この場合はイベント追加)するのを宣言スタイルで短く分かりやすく書けるのが売りだろ。
バブル主体で書くとそもそもqueryしないから、jQueryを使う意味がないんだよ。
それはやれば分かる。分からないのはやってないからでしかない。

> やめましょう。無関係のイベントハンドラをまとめることは
> 単一責任の原則に違反しています。
無関係ではないんだよ。
そしてその考え方がJava的オブジェクト指向の限界であり、JavaでGUIを誰もやらない理由だよ。
いずれにしても、JavaのGUIなんてキングオブゴミだし、GUIに関してはJava的オブジェクト指向は一旦捨てた方がいい。
実際、.NETにしても、データはバインディングでグローバルストア方式になってるだろ。
(末端のオブジェクトにデータを持たせている風に見せているが、
現実問題としてそれだと状態のセーブが出来なくて(やりにくくて)いきなり詰むから、実際はバインディングでゴニョゴニョ出来るようにしている)
だからJava的な、末端のオブジェクトにデータもイベント関数も全部持たせる、というのがGUIに絶望的に向いてないんだよ。
だからJavaではろくなGUIが作れない、というよりは無駄に苦労するので誰もやらない。その結果が今だ。

> いいえ。殆どがthisを使っています。e.currentTargetは冗長なだけです。
それは君がbubbleを使ってないから。jQueryもだがフレームワーク等は仕様はDOMAPIに合わせているだろうけど、
実際にbubbleの場合はe.currentTargetなんて使い物にならないから当然thisも使わない。
これもやれば分かるだけのこと。君はやってないだけ。

616 :デフォルトの名無しさん:2020/07/23(木) 22:49:01.44 ID:k24nyzXR.net
>>615
> バブル主体で書くとそもそもqueryしないから

そういう意味ですか?
意味不明なので他のわかりやすいサイトを
探し出してください

617 :デフォルトの名無しさん:2020/07/23(木) 22:49:21.91 ID:k24nyzXR.net
×そういう意味ですか?
○どういう意味ですか?

618 :デフォルトの名無しさん:2020/07/23(木) 22:50:10.57 ID:k24nyzXR.net
>それは君がbubbleを使ってないから。

bubbleを使うとやらのコードを書いてください

619 :デフォルトの名無しさん:2020/07/23(木) 22:53:40.02 ID:k24nyzXR.net
Description: The current DOM element within the event 「bubbling」 phase.
https://api.jquery.com/event.currentTarget/

620 :デフォルトの名無しさん:2020/07/23(木) 22:53:41.19 ID:QHkNbR5l.net
>>613
いや俺はthisがオブジェクトそのものだと聞いたが、
まあJavaの仕様については俺は詳しくないし、いずれにしてもスレチだし、この話は止めよう。

>>614
それは初耳だが、
LS見た限り当然載っているから移動されただけではないか?
そのページのLSの所押すと割と丁度いい場所に飛ぶから見てみればいい。

やれば分かるが、バブルで組んだ場合にe.target無しでは組めない。
廃止されるにしても、名前が変わって何かが定義されるとかであって、丸々捨てられることはないよ。
そしてbubbleを使わずに一々全Elementにイベントを付けていくのは完全に旧式であって、
マトモなサイトでは誰もそんなことやってない。
それも確認してみればいい。

621 :デフォルトの名無しさん:2020/07/23(木) 22:54:31.55 ID:k24nyzXR.net
jQuery event.currentTarget
日本語訳 説明:イベントバブリングフェーズ内の現在のDOM要素。

622 :デフォルトの名無しさん:2020/07/23(木) 22:55:20.17 ID:k24nyzXR.net
>>620
だからjQueryはバブルしかサポートしてないし、
jQueryのevent.currentTargetは(DOM APIと同じで)
イベントバブリングフェーズ内の現在のDOM要素。

623 :デフォルトの名無しさん:2020/07/23(木) 22:57:37.04 ID:k24nyzXR.net
>>620
> そしてbubbleを使わずに一々全Elementにイベントを付けていくのは完全に旧式であって、

jQueryでは全Elementにイベントハンドラを使えずに、
ocumentエレメントにイベントハンドラを付ける場合このように書きます。

$(document).on('click', 'a', function() {
 $(this).css("background": "red");
});

知ってましたか?w

624 :デフォルトの名無しさん:2020/07/23(木) 23:16:41.69 ID:k24nyzXR.net
https://jsfiddle.net/m8q15376/

例えばこの2つのコードはイベントハンドラをつけてるところは違いますが
同じよう動作をします。thisが使えない?何の話でしょうかねw

$("#id1").on('click', 'a', function() {
 $(this).css("background", "red");
});

$("#id2 a").on('click', function() {
 $(this).css("background", "red");
});

625 :デフォルトの名無しさん:2020/07/23(木) 23:18:15.34 ID:QHkNbR5l.net
>>622
君と話が通じないのは君がbubble主体で組んだことがないからだよ。
ただし、bubbleの重要性に触れた『初心者向け』サイトは皆無で、俺が知ってるのはuhyohyoだけ。
気になるならそこでも読むんだね。
或いはそこら辺のまともなサイト、ガチの商用サイトだとbubbleを使ってない方が珍しい(と思いたい)から、見てみるとか。
ただし日本のサイトは割とまじで糞で、20年前と同じですねー、ってのも普通にあるからそういうところは駄目だが。
(ここ5chもそうだし)

ちなみに2度目だが、フェースの話はしてない。
イベントがバブルするのを「イベントバブル」と言うんだよ。
これはWPF等でも使われているからJavaScriptのローカル用語ではなくてプログラミング用語だ。
(といっても俺が知っている限りイベントバブルを最初に実装したフレームワークはHTMLで、
それらをWPF等も採り入れたから当然同じ用語になっているだけだが)
そしてそれをbubbleと(短く短くとうるさいお前ら用に)略して言っているだけ。
もう一度言うが、フェーズの話はしてないし、そもそも既に書いたように俺はキャプチャフェーズの存在価値が分からない。
今のところの見方では、あれは不要な仕様だと思う。
jQueryでも対応してないのなら、実際それで困ることはないからだろ。


>>623
知ってる。そしてそれだとjQueryを使う意味が無い=生のDOMAPIでも同様に書けるだろ
だからみんなjQueryを捨て始めてるだけ。
勿論君のようにjQueryが無いと死んじゃう人がそれに抗っているのも知ってる。

626 :デフォルトの名無しさん:2020/07/23(木) 23:21:08.33 ID:k24nyzXR.net
もうわかりましたね? ID:QHkNbR5l はイベントデリゲーションのことを
バブルなんて言ってるわけです(笑)

https://developer.mozilla.org/ja/docs/Web/API/Event/target
> event.target プロパティは、イベントデリゲーションを実装するために使用できます。

所詮オレオレ用語を使うレベルなんですよ

627 :デフォルトの名無しさん:2020/07/23(木) 23:22:10.11 ID:QHkNbR5l.net
>>624
だからそれ明らかにイベントバブル使ってないじゃん。
それを>>623形式で書いた時にe.targetが無いとどうしようもないでしょ。
それを言ってるんだよ。

628 :デフォルトの名無しさん:2020/07/23(木) 23:22:48.51 ID:k24nyzXR.net
>>625
> 知ってる。そしてそれだとjQueryを使う意味が無い=生のDOMAPIでも同様に書けるだろ

では生のDOM APIを使ってe.targetなしで書いてみてください。
できますか? jQueryはe.targetなしで書きました。

629 :デフォルトの名無しさん:2020/07/23(木) 23:23:26.39 ID:k24nyzXR.net
>>627
> だからそれ明らかにイベントバブル使ってないじゃん。]

最初に言ったよね?イベントバブル使うコードかけって
なんでお前かけないの?

630 :デフォルトの名無しさん:2020/07/23(木) 23:24:31.81 ID:k24nyzXR.net
>>627
1. jQueryのコードはイベントバブルしか使わない(使えない)
2. >>623のコードはe.targetを使ってない

ここまではいいですかねぇ(呆れ)

631 :デフォルトの名無しさん:2020/07/23(木) 23:28:46.58 ID:QHkNbR5l.net
>>626
まあ君との話はもうする価値がないから終わりにするけど、
イベントバブルはオレオレ用語ではないと思うよ。
イベントデリゲーションってのは確かにそこにあるが、初めて聞いたが。

e.targetについては、
> 複数の要素に同じイベントハンドラを割り当てて、どれかでイベントがあったときに何かさせたいような場合、e.target はとてつもなく有用なものです。
> 複数の要素に同じイベントハンドラーを割り当てて、どれかでイベントがあったときに何かさせたいような場合、e.target はとてつもなく有用なものです。
と、重要だからか?まじで2回書いてあるし、それが廃止とか使用禁止とかにはならないよ。
https://developer.mozilla.org/ja/docs/Learn/JavaScript/Building_blocks/Events

632 :デフォルトの名無しさん:2020/07/23(木) 23:28:53.91 ID:k24nyzXR.net
> イベントバブルを最初に実装したフレームワークはHTMLで、

笑うしかないわw HTMLがフレームワークとかw

633 :デフォルトの名無しさん:2020/07/23(木) 23:29:21.73 ID:k24nyzXR.net
> イベントデリゲーションってのは確かにそこにあるが、初めて聞いたが。

はい、初めて聞くレベル

634 :デフォルトの名無しさん:2020/07/23(木) 23:29:24.10 ID:HWiYfbuZ.net
>>614
そのMDNの廃止されたって言うのは以前の仕様書が廃止って意味じゃないの?

635 :デフォルトの名無しさん:2020/07/23(木) 23:30:10.44 ID:k24nyzXR.net
> e.targetについては、
> 複数の要素に同じイベントハンドラを割り当てて、どれかでイベントがあったときに何かさせたいような場合、e.target はとてつもなく有用なものです。

↓このコードが複数の要素に同じイベントハンドラを割り当てて、どれかでイベントがあったときに何かさせているコード

https://jsfiddle.net/m8q15376/

$("#id1").on('click', 'a', function() {
 $(this).css("background", "red");
});

636 :デフォルトの名無しさん:2020/07/23(木) 23:56:14.14 ID:k24nyzXR.net
まとめ

こいつはイベントデリゲーション(複数の要素に同じイベントハンドラを割り当てるコード)を
jQueryで書いているコードを見たことがない、もしくは見たことあっても気づかないで
jQueryでもDOM APIと同じように書くしかないはずだ!だからjQueryを使う意味がない!と考えていたようだが
そのイベントデリゲーションこそjQueryでシンプルに書けるコードの一つだったという話です。

637 :デフォルトの名無しさん:2020/07/24(金) 00:01:31.32 ID:2LubhzPR.net
>>633
というかね、「イベントバブル」をオレオレ用語だと噛みついてくる時点でお前はどうかしてる。
JavaScript使ってて今まで聞いたことがないってのは本当に酷い。

MDNにも「イベントのバブリング」とは書いてある。
> https://developer.mozilla.org/ja/docs/Web/Guide/Events/Creating_and_triggering_events
uhyohyoでも「イベントバブリング」って言ってる。
> https://uhyohyo.net/javascript/3_3.html
-ing形だから通じないって事も無いだろうし、そもそもbubbleフェーズを表すと勘違いしても大体通じる内容でしかない。
そこで噛みついてくる意味が分からん。

JavaScriptが世のGUIを席巻しつつあるのは、イベントバブルの功績が大きい。
これがあるのと無いのとでは、GUIの組みやすさの次元が違うんだよ。
だから.NETもWPFで、GTKでもGTK+3から採用されてる。(Qtは知らん)

それを全く使わずにJavaScriptのGUIを語るのは完全に間違ってる。
そこら辺がjQueryしか出来ない人(つまり君とか)の問題だと思うよ。
jQueryしか出来ない人が馬鹿にされているのは君も知っているだろ?そういうことだよ。

638 :デフォルトの名無しさん:2020/07/24(金) 00:22:53.71 ID:fMjVnhWI.net
お前のオレオレ用語っていうのは「バブル主体」だアホめ
なんだよバブル主体って(笑)

639 :デフォルトの名無しさん:2020/07/24(金) 00:24:19.77 ID:fMjVnhWI.net
>>637
> JavaScriptが世のGUIを席巻しつつあるのは、イベントバブルの功績が大きい。

だから、イベントバブルじゃなくてイベントデリゲーションな(笑)
何がオレオレ用語なのかわかってない。
用語の使い方を間違ってんだよお前は。

jQueryはイベントバブルを使ってる

640 :デフォルトの名無しさん:2020/07/24(金) 00:25:21.34 ID:fMjVnhWI.net
何度も言うがjQueryを使うということは
イベントバブルを使ってるということだ

641 :デフォルトの名無しさん:2020/07/24(金) 00:28:52.61 ID:fMjVnhWI.net
ちなみにイベントデリゲーションという用語は
MDNでも使われているが、jQueryが最初に使った用語なんじゃないかと思ってる。

もともとはjQueryでイベントデリゲーションを使う時
delegateというメソッドを使っていたから。それが廃止になりonに統一された。

onに統一された結果、jQueryでイベントデレゲーションを使ったコードと
使ってないコードの差異が減って、e.targetを使わずにthisでコードが書けるようになった。

jQueryでイベントデレゲーションを使うのは、DOM APIを使うよりも
格段にシンプルに書けるようになっている
無関係のイベントハンドラを統合するという単一責任の原則に反するコードを書くことなく
イベントデレゲーションを使うことが可能になっている。

642 :デフォルトの名無しさん:2020/07/24(金) 00:33:37.06 ID:2LubhzPR.net
>>638-640
半島に帰れ

643 :デフォルトの名無しさん:2020/07/24(金) 01:22:11.42 ID:2LubhzPR.net
>>627
訂正、>>624でもバブルを利用しているようだ。

jQueryはこの形式だとDelegated event handlers として扱われ、
on時点でサブクエリして一致した子要素に付けるのではなく、
内部的にバブルしてきたイベントを使い、実行時にクエリして一致を確かめるようだ。(後半部は予想、実装依存)
https://api.jquery.com/on/

だから確かにバブルを利用してはいるが、これだともっさり遅くはなる。(とはいえGUIの場合は大抵問題にはならない)
jQueryは使ってないし今後も使う予定もないので仕様には詳しくなく、見た目で判断してしまった。
なるほど何だかんだで上手く出来てはいる。

が、まあ、いずれにしてもこれをDOMAPIだけで書くのも別段苦労しないし、
jQuery内部でe.targetを使っているだけで、e.targetが無ければjQuery自体が組めないだけでしかない。


>>641
イベントデリゲーションの方がかなりオレオレ用語だと思うが。
確かにMDNには書いてあるが、俺は今まで聞いたこともなかったし、そもそもそれを「デリゲーション(キリッ」とかいうのもどうかしてると思うが。
OOPで言う委譲に当たるから「デリゲーション」なんだろうが、それはOOPで言う「継承か委譲か」、という話とは全然違っていて、
単に親要素でしかなく、子要素とは何の関わりもない。(一応包含してはいるが)
だから無理やりOOP的な解釈をすれば「デリゲート」しかないのだろうけど、
それは、世の中の全てを無理矢理OOPで解釈するJava脳みたいな感覚を受け、
Java以外で普通にOOPを分かっている奴からしたら相当気持ち悪い使い方だし、実際に流行ってもないだろ。
これが気持ち悪いと思わないのは君がOOPを理解してないからだよ。
ただし俺はGUI自体がOOPにフィットしないと思っているから、GUIしかやらないのなら理解している必要はないとも思うけども。

そして君は都合の悪い>>634は無視なのか?
既に言ったが、現在の状況でe.targetが無くなることはない。
ただ、あの辺デタラメに拡張して仕様がグダグダなので、整理しろよな、とは思うが。

644 :デフォルトの名無しさん:2020/07/24(金) 01:48:12.97 ID:2LubhzPR.net
ちなみにgoogle、

イベントバブル 約 22,500,000 件 (0.43 秒)
イベントデリゲーション 約 23,600 件 (0.28 秒)

645 :デフォルトの名無しさん:2020/07/24(金) 06:57:14 ID:9v9Epd9J.net
バブリングフェーズとイベントデリゲーションはバスタブとミカンくらい意味が違うがおんなじもんだと思ってたわけ?w

バブリングフェーズはイベント伝搬のステージのことで、
div
a
a
という構造ならhtmlからdiv→aと伝搬してくるのがキャプチヤリングフェーズ。
その後a→divとhtmlまで戻っていくのがバブリングフェーズ。

イベントデリゲーションは2つのaにイベントパンドラ設定するよりdiv1つに設定してaのイベントまとめてハンドルしてもらいましょうというやり方。

a(子)のイベントハンドリングをdiv(親または祖先)に委譲(delegate)するからイベントデリゲーション。

ちんちんとマンチェスターユナイテッドくらい意味が違うけどおんなじもんだと思ってたわけ?w

646 :デフォルトの名無しさん:2020/07/24(金) 07:07:22.97 ID:fMjVnhWI.net
>>643
イベントバブルっていうのはイベントがバブルのように上に上がっていくってだけで
一つのイベントハンドラで処理を行うって意味じゃねーんだよw
あーほ

647 :デフォルトの名無しさん:2020/07/24(金) 07:07:57.79 ID:fMjVnhWI.net
>>643
> だから確かにバブルを利用してはいるが、これだともっさり遅くはなる。(とはいえGUIの場合は大抵問題にはならない)
遅くなるの理由が何もないwww

648 :デフォルトの名無しさん:2020/07/24(金) 07:09:14.13 ID:fMjVnhWI.net
>>643
> 確かにMDNには書いてあるが、俺は今まで聞いたこともなかったし、

それがすべて。お前が無知なだけ

649 :デフォルトの名無しさん:2020/07/24(金) 07:10:55.78 ID:fMjVnhWI.net
結局の所 >>636 の まとめで書いたとおり

こいつはイベントデリゲーション(複数の要素に同じイベントハンドラを割り当てるコード)を
jQueryで書いているコードを見たことがない、もしくは見たことあっても気づかないで
jQueryでもDOM APIと同じように書くしかないはずだ!だからjQueryを使う意味がない!と考えていたようだが
そのイベントデリゲーションこそjQueryでシンプルに書けるコードの一つだったという話です。


そのイベントデリゲーションこそjQueryでシンプルに書けるコードの一つだったという話です。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

650 :デフォルトの名無しさん:2020/07/24(金) 07:27:42.03 ID:fMjVnhWI.net
>>643
> が、まあ、いずれにしてもこれをDOMAPIだけで書くのも別段苦労しないし、

だから最初に書けと言ってる。なんで書かないのか?

651 :デフォルトの名無しさん:2020/07/24(金) 08:10:38.59 ID:2LubhzPR.net
>>645
お前が日本語が出来なくていろいろ勘違いしてるだけだろ。

まず示したように、「イベントデリゲーション」なんて言葉は誰も使ってないから止めとけ。
イベントバブルの説明に必ず出てくる言葉なら、使用頻度=ヒットページ数も1:1になるはずであって、
約1000:1ってのは誰も使ってないって事でしかない。

> バブリングフェーズとイベントデリゲーションはバスタブとミカンくらい意味が違うがおんなじもんだと思ってたわけ?w
俺は同じ物だとは一言も言ってない。それを勝手に誤解しているのはお前の日本語が韓国人レベルだからだ。
ただ、これらは表裏一体であって、イベントがバブルしなければ纏めるも何もないので、
お前が思っているほど区別する意味もない。
お前みたいな文系馬鹿はやたら細かく区別して意味無くドヤる傾向があるが、プログラミングってのはそもそもそういうものではない。

実際問題として、イベントバブルを説明する際に、
確かに「バブルしてくるイベントを親で捕らえて纏めて処理する」事を示す名詞が欲しい、というのはあるだろう。
ただ、誰もそこで「イベントデリゲーション」なんて言葉を使ってないから1000:1の使用頻度になってる。
実際は、「バブルしてくるイベントを親で捕らえて」とそのまま言っているのだと思う。
ただそもそもバブルさせる=親で捕らえて纏めて処理する大前提だから、それ含めてイベントバブルでも大して問題ないんだよ。

652 :デフォルトの名無しさん:2020/07/24(金) 08:10:58.84 ID:2LubhzPR.net
同様にお前が無駄に拘っているのが以下だが、
> > イベントバブルを最初に実装したフレームワークはHTMLで、
> 笑うしかないわw HTMLがフレームワークとかw (>>632)
HTML/CSS/JavaScriptはほぼ常にセットで使われていて、どれだと区別する意味はないし、
確かに厳密にはどれでもないからWebAPIとか別括りにされてるが、そこに拘る意味もない。
俺は「イベントバブルを最初に実装した『フレームワークが』がHTMLだと言った。
お前的には「プラットフォーム」か、または別用語が適切なのかもしれんが、
いずれにしても言葉というのはコミュニケーションの手段であって、つまり通じるかどうかが最重要であって、
明らかに通じているのに揚げ足取りしているつもり?でドヤって来るのも頭おかしいとしか思えないが。
(オレオレ用語を使うなってのは「通じないから使うな」ということであって、オレオレ用語を使うこと自体が悪いというわけではない)

お前いつものjQuery厨か?
ならお前はここ2〜3年、まるで成長してないな。


>>650
むしろお前がそれを書けないと言っているに近いが、それをお前は認めるか?
日本語が通じない馬鹿なお前の為に敢えて言い直すと、
お前が「僕は書けませんから書いてみてください」と言うのなら書くが、
あまりに簡単すぎてお前の馬鹿さが際だつだけだぞ。


いずれにしても、脱jQueryなんてのが出てくるのはjQueryを使う意味がなくなりつつあるからであって、
お前がそれを気に入らなくても、それは事実として認めるしかないし、
実際にjQueryから輸入された仕様もあるのだからjQuery自体が糞だったわけでもないんだよ。
ただ、役割を終えつつある、というだけの話であってさ。

653 :デフォルトの名無しさん:2020/07/24(金) 08:42:13.69 ID:9v9Epd9J.net
バブリングフェーズとイベントデリゲーションはバスタブとミカンくらい意味が違うがおんなじもんだと思ってたわけ?w

654 :デフォルトの名無しさん:2020/07/24(金) 08:55:46.07 ID:fMjVnhWI.net
> まず示したように、「イベントデリゲーション」なんて言葉は誰も使ってないから止めとけ。



https://developer.mozilla.org/ja/docs/Web/API/Event/target
event.target プロパティは、イベントデリゲーションを実装するために使用できます。

https://developer.mozilla.org/en-US/docs/Web/API/Event/target
The event.target property can be used in order to implement event delegation.

655 :デフォルトの名無しさん:2020/07/24(金) 08:56:14 ID:9v9Epd9J.net
> まず示したように、「イベントデリゲーション」なんて言葉は誰も使ってないから止めとけ。

えーっと、ボクチン英語が分かりませーんという話かな?www
英語
https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events#Event_delegation
日本語
https://developer.mozilla.org/docs/Learn/JavaScript/Building_blocks/Events#Event_delegation

656 :デフォルトの名無しさん:2020/07/24(金) 08:58:29.43 ID:L9K/ZYyg.net
URLからしてイベントデリゲーション使ってるなw
誰も使ってない用語とは…?w

657 :デフォルトの名無しさん:2020/07/24(金) 08:58:39.33 ID:fMjVnhWI.net
>>651
> イベントバブルの説明に必ず出てくる言葉なら、

でてくるわけねーだろw
イベントバブル=イベントデリゲーションじゃねーんだから

DOM APIのイベントモデルではイベントバブルがデフォルトで使われる
イベントモデルの説明でバブルフェーズとキャプチャフェーズの話は出る
だがイベントデリゲーションはかならず使うものではない

お前が、イベントバブル=イベントデリゲーション (つまり同じ意味)だと
勘違いしてるから、使用頻度=ヒットページ数も1:1になるという間違った結論になってる

イベントデリゲーションはかならず使うものじゃないんだから
イベントデリゲーションの方が数は少なくなるのは当たり前

466 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver.24052200