HTML5 JavaScript 複数のボタンに似たような処理を結び付ける
やりたいこと
ボタンが10個あって、1~10の番号が振られている。
ボタンを押すと、番号の数字をコンソールに出力する。
実現方法1
ボタンに一つずつ異なるidをつけて、getElementById→addEventListener。
デメリット:似た処理でソースコードが肥大化する。
実現方法2
ボタンに同じクラス名をつけてgetElementByClassname→ループでaddEventListener。
デメリット:ソースコードは1より少ないが、ボタンごとにイベントリスナ追加するため、実行時にメモリを無駄に消費する。
実現方法3-1
コンソールに出力する関数を一つだけ作る。
ボタンのonclickでその関数を呼ぶ。
そのとき引数でボタンのインデックスを渡す。
実現方法3-2
ボタンインデックスを区別できるクラスor属性を付加する。
コンソールに出力する関数を一つだけ作る。
ボタンのonclickでその関数を呼ぶ。
クラスor属性からボタンのインデックスを取得する。