Объявление события добавляет слой абстракции и защиты экземпляра делегата. Эта защита предотвращает сброс делегата делегата и его списка вызовов и позволяет добавлять или удалять цели из списка вызовов.
Думаю, это зависит от того, что вам нужно, но есть несколько связанных проектов.
Самая «надежная» реализация, о которой я могу думать, - это эта , выполненная командой 280North (известной как Cappuccino).
Есть также некоторые проекты серверного JavaScript в стадии реализации (например, http://github.com/ajaxorg/node-github ), но они не будут выполняться полностью в клиентском браузере.
Обновление (для всех, кто сталкивался с этим):
Пожалуйста, ознакомьтесь с ответом vanthome . Проект Тима Касвелла js-git хорошо финансируется и, несомненно, является лучшим ответом здесь на данный момент.