[過去ログ] + JavaScript の質問用スレッド vol.139 + (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
600
(6): 2019/05/08(水)18:09 ID:??? AAS
少し違う話だけどさ

if (typeof eval(evt.target.id) == 'function') {

こんな感じでさ、「もし関数なら、関数呼び出しをする」
なんてコードは普通いらないんだよ。いきなり「関数呼び出しをする」だけでOK

え?関数でなかったらエラーになる? → そこに関数以外が来ることなんて有るのか?
バグで関数以外を渡してしまった時 → じゃあそのバグの方を直せ

こういう「もし関数なら」なんてコードが必要なのは、
関数 or 数値 みたいに複数の型が入る可能性があって型によって処理を分けるときだけ
省2
604
(1): 2019/05/08(水)19:35 ID:??? AAS
>>600
これはさすがに三流思考
606
(3): 598 2019/05/08(水)19:57 ID:??? AAS
>>599
この呼び出し方だとTypeError: evt.target.id is not a functionとなるようです

>>600
clickイベントなのですがリスナーは1つしか使わないで
event.target.idで処理をするか判別してるため
関係ないidも渡される可能性があります
if (event.target.id == "foo") {
 foo(evt);
} else if (event.target.id == "bar") {
 bar(evt);
省3
611: 600 2019/05/08(水)21:08 ID:??? AAS
>>601
> 引数が文字列か数字かオブジェクトか関数
> みたいな関数造ったときとか、わりと必要なんじゃね?

俺が書いたことを、お前が真似して言うな

>>604
何も言い返せないなら書き込む意味ないですよw
613: 600 2019/05/08(水)21:13 ID:??? AAS
>>606
> clickイベントなのですがリスナーは1つしか使わないで
> event.target.idで処理をするか判別してるため

それが間違いだからそれを直せば?

jQueryならこれでいいだろ?
$('#foo, #bar, #baz').click(function() {
 ・・・
});

処理を分けたいなら3つかけばいい。
$('#foo').click(function() {
省2
614: 600 2019/05/08(水)21:14 ID:??? AAS
>>612
嫌なら見るな
615: 600 2019/05/08(水)21:19 ID:??? AAS
IDごとに専用のリスナー関数を作る・・・正解

IDが違うけど、なぜかリスナー関数をまとめて
せっかくまとめたのに、IDごとの専用の関数に分岐させる・・・無駄なことをしている
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.625s*