元スレ+ JavaScript の質問用スレッド vol.139 +
JavaScript覧 / PC版 /みんなの評価 :
601 = :
そう?
引数が文字列か数字かオブジェクトか関数
みたいな関数造ったときとか、わりと必要なんじゃね?
判別
602 = :
お前らGoogle.ioの発表見たか?
ついにAIがWebサイト経由でフォームとか使って予約とかしてくるようになるそうだな
つまりフルCanvasとかメチャクチャなサイトは駄目ということだ
勿論10年後までにはそういうのもなくなるとは思うけどな
603 = :
>>601
神々によって天罰を与えられる原因になった建築物使ったら?
オプショナル関数呼び出しが仕様策定中
604 = :
>>600
これはさすがに三流思考
605 = :
>>603
それでもやっぱり判別は必要なんじゃね?
例えばreplaceって第一引数が文字列か正規表現
第二引数が文字列か関数になるでしょ?
そういうの
607 = :
>>603
オプショナル関数呼び出しってどんなの?
608 = :
>>606
グローバル関数なら、グローバルオブジェクトのプロパティとして参照可能
だが、HTMLにjsコードを埋め込むようなものなので、id属性値に関数名を埋め込まない方が良い
foo,barに何をさせるつもりか知らんが、一元管理するなら、処理の実行条件があるはずで、それを元に処理分けを行う
WeakMapで要素ノードに関数を結びつけれるほうほうもあるが、個別処理を一元管理するのは相反するものを強引に繋げているようなもので、他に良い実装があると思う
609 = :
>>606
あーごめん
event.targetのidに関数が文字列として入ってるのか
勘違いした
…すげーなその作り
610 = :
いや関数であるとは限らんぞ
何れにせよevalしなきゃならんのはどうかと思うが
611 = :
>>601
> 引数が文字列か数字かオブジェクトか関数
> みたいな関数造ったときとか、わりと必要なんじゃね?
俺が書いたことを、お前が真似して言うな
>>604
何も言い返せないなら書き込む意味ないですよw
612 = :
また来たかローカル君
普段は回答者側なんだろうな
614 = :
>>612
嫌なら見るな
616 = :
少なくとも識別子を処理に組み込むのはマズイと思う
617 = :
>>589-590
お返事遅れて申し訳ないです。
ありがとう、こういう書き方をするのですね。
ランダムパスワードのチェックをしようとしていました。
勉強になりました。
618 = :
このガイジはすべてのプログラムを一人で書くんだと思ってるんだろうな
619 = :
他人が読んでもわかるようなコードをかこう
なんでこう書いたんですか?今までそうやってきたから
などというのはやめよう
620 = :
>>605
有効性の判定とその他の判定を一緒くたに話すのはどうかと思うよ
621 = :
そういうのは、Ruby on Rails など、フレームワークが使うメタプログラミングだけ
動的に関数名が増える場合に、define_method で、動的に関数定義する。
この場合は、事前に関数名が書けないから
Lodash とか、誰かのライブラリに、
動的に関数定義する、デザインパターンは無いのか?
622 = :
レスありがとうございます
jQueryは使ってないのですが
window.addEventListener("click", function(evt){
if (evt.target.id == "foo")...
if (evt.target.id == "bar")...
},false);
ではなく
document.querySelector('#foo').addEventListener('click', ...
document.querySelector('#bar').addEventListener('click', ...
のようにしろということでしょうか?
そうするとwindow.onloadで読み込ませないと動かないようですが
window.addEventLister('load', function(){
document.querySelector('#foo').addEventListener('click', ...
document.querySelector('#bar').addEventListener('click', ...
}, false);
こんな感じにすればよいのでしょうか?
623 = :
>>616も言ってるが固有情報のidはやめたほうがいい
classNameのようなnodesならいいんじゃね?
じゃないとnodesに片っ端から適用するセンス0のマヌケコードになる
windowに1つだけイベントつけて発火した都度に発生源から調べると
ifを通す分cpuには負担だが微々たるもんだし
メモリには優しい設計だしリークも起きにくい
624 = :
Event Listener は、漏れなら、1つにまとめないで、わかりやすい所で、複数個に分ける。
まあ、要素が親子関係なら、1つにまとめるかも
1つにまとめると、分岐処理が出来るから、コードが複雑になる
625 = :
初心者は、役割ごとに関数を分けない。
やってる処理で関数を分けようとする
626 = :
>>622
jQueryを使え。onloadなんか使わずとも
$(document).on('click', '#foo', function() { ... })
$(document).on('click', '#bar', function() { ... })
ってかけばいい
628 = :
jQueryが解決するのは
> コードが複雑になる
これ
631 = :
jQuery使え云々はおいといて別にload時に追加すればよくね?
なんとなく生理的に嫌なコードなのはわかるよ
jQueryほどじゃないけど
633 = :
そういや昔無限に円周率を表示するページが有ったけど、
DOMContentLoadedっていつ発動するの?
634 = :
>>633
http://www.google.com/search?q=domcontentloaded
635 = :
>>634
あー、やっぱり永久に発動しないんだ。
ってことはさ、普通のサイトでも僅かな時間とはいえ、
画面は表示されてるけど、ページが全部読み込み終わってないって
タイミングが有るわけだから、やっぱりheadに入れるのがいいんじゃないの?
636 = :
>>635
意味が分からんな
</body>手前に置いた方が遅いとでも思ってるのか?
637 = :
発生するでしょ
ずっと同期的に書き加えてたらブラウザがハングアップしかねないし表示が更新されないかもしれないから
連続表示というのは間隔を開けるのが当たり前でその隙間で発生するでしょ
それにもし仮にJS実行が途切れないとしたらイベントループが回らないんだからハンドラが実行されるはずがないでしょう
638 = :
>>636
永遠に円周率を表示するサイトっていうのは、
</body>が永遠に来ないってことだよ。
もっとも該当のサイトはただのテキストページだったけどね
でもHTMLでずーっと</body>が登場しないページは作れるし、
巨大なページで格安SIMで速度制限されてるときとかさ、
ページの上の部分は表示されてるけど、終わりはまだ来てないってことあるでしょ?
639 = :
>>635
コンテンツ表示からjs実行までのタイムラグを減らすなら、該当JTMLの直後に<script>を書くだろうに、なぜ<head>がいいという結論になるんだ?
640 = :
>>637
> 発生するでしょ
DOMContentLoaded = DOMを全部読み込み終わってから発動する
= DOMを全部読み込み終わってないんだから発動しないよ
DOMContentLoaded が発生するまで
ブラウザはレンダリングしないわけじゃないんだから
ブラウザはハングアップしたりしない。
641 = :
>>638
HTML出力途中なら、DOMContentLoadedも発火しないと思うが、試してみたのか?
642 = :
>>639
そりゃ「該当HTML」が複数あった場合、
それぞれに<script>を置くのか?って話だよ
例えば、同じclassの要素が複数あったら
全部の要素の後に<script>を書く?多重読込してしまうなw
643 = :
>>641
> HTML出力途中なら、DOMContentLoadedも発火しないと思うが、試してみたのか?
だからそう言ってるじゃんw
644 = :
>>642
何で何度も実行させる発想になるんだよ
読み込みたい要素を全て出力した後に一回書けばいいだろ
それぞれの要素出力直後に実行させたいなら、Mutation?bserverを使え
645 = :
>>643
</body>手前でもほぼ同じだろ
</body>の後にタグを書いてるのか?
646 = :
>>644
自分で書いたことを忘れてない?
> コンテンツ表示からjs実行までのタイムラグを減らすなら、
そうコンテンツ表示からjs実行までのタイムラグを(極限まで)減らしたい。
> 読み込みたい要素を全て出力した後に一回書けばいいだろ
読み込みたい要素を全て出力するまでタイムラグがある
648 = :
>>646
DOMContentLoadedよりは早いだろ
比較論を語ってるのに「0じゃないだろ」なんて極論を語るな
極論を語るなら、MutationObserverを使え
649 = :
そのMutationObserverはどこで読み込むのでしょうかねぇ(苦笑)
650 = :
>>648
お前さ、DOMContentLoadedを勘違いしてるだろ?
DOMContentLoadedは、DOM要素が一つ一つ現れる毎に
発生するものだと思ってるだろ?
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.109 + (1001) - [97%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.129 + (981) - [97%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.129 + (926) - [97%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.131 + (1004) - [97%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.132 + (1001) - [97%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.133 + (1001) - [97%] - 2018/6/8 10:45
- + JavaScript の質問用スレッド vol.131 + (1000) - [97%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.134 + (1001) - [97%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.136 + (1001) - [97%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.137 + (1003) - [97%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.138 + (1004) - [97%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [95%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [95%] - 2014/5/29 16:16
トップメニューへ / →のくす牧場書庫について