UI プログラミングは、本質的にイベント駆動型です。
このパラダイムでは、使用する言語に関係なく、イベントが発生したときに実行されるイベント ハンドラーを定義する必要があります。あなたの例では、コンパクトではない構文を使用すると、より表現力豊かになります。
$('div').on('click', reaction);
純粋な OOP (Java など) では、反応は特定のインターフェイスを実装するオブジェクトになります。
import java.util.Observer;
public class ResponseHandler implements Observer {
...
}
ResponseHandler reaction = new ResponseHandler();
さあ、Javascript へようこそ!
Javascript 関数は高次であるため、関数を引数として渡すのが一般的であり、これらはcallbacksと呼ばれます。また、このコールバック関数の定義に関しては、javascript は非常に冗長です。
コールバック (名前付きまたは匿名) を定義するには、完全な関数式を使用する必要があります。または、Coffescript の化粧品に移動して、これらの関数定義をざっと読むこともできます (ただし、関数定義がとにかく存在するため、それらは単なる構文糖衣です)。
あなたが発明した {} 構文または coffescript 矢印構文は、実際には実際の反応を隠しています。
$('div').on('click', reaction);
javascript の反応は単なる関数、コールバック関数です。
現在、jQuery イベントはリアクター エンジンの実装であり、アプリケーション コードを実際のエンジンから完全に分離することができます。これは、jQuery アプリケーションがイベントに対する反応の定義のグループであることを意味します。
- ドキュメントの準備ができたら、これを行います。
- ユーザーがdivをクリックするたびに、それを行います。
- マウスがスパンに入るたびに、何でもします。