(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

関数を返す関数で

昨日、ぼけーっとプログラム書いてたらバグを作りこんでしまって、「ああ、これはこういう挙動するんだ」って勉強になったのでメモ。

以下のようなボタンがふたつあったとする。

button#hoge
  | HOGE
button#fuga
  | FUGA

で、hogeボタンを押したら、fugaボタンのクリックイベントで起動するような関数を返すようにしておく。

$ ->
  $("#hoge").on 'click', ->
    $("#fuga").on 'click', ->
      console.log "Hello, world"

そうしたら、hogeボタンを押した回数分だけfugaボタンを押した時に関数が実行されるという話。
これに気付かなくて知らず知らずにバグ作ってた…。あぱー。