Помогите разобратся откуда у js коданоги растут (и у меня руки) ?

Бочонок

http://frontender.info
Помогите разобратся откуда у js коданоги растут (и у меня руки) ?

Доброго времени суток.
Решил я посмотреть как нормальный люди js библиотеки пишут.
Открыл файл и пришол в состояние легкого но уже панического ужаса.
[кусок кода в конце поста]
Что это за двоеточия ?!?!
Что за странная групировка операторов ни к селу ни к городу ?!?!
Посмотрел в Core JavaScript Reference 1.5 и ничего подобного там найти не смог.
Я понимаю, что обьяснить на пальцах такое не возможно.
Сошлитесь кто то на документацию, которая сможет прояснить что это за несчастье !
Пожалуста ! А то я в скором времени окончательно свихнусь от любопытства !


PHP:
var Ajax = {
  getTransport: function() {
    return Try.these(
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
      function() {return new ActiveXObject('Microsoft.XMLHTTP')},
      function() {return new XMLHttpRequest()}
    ) || false;
  },
  
  activeRequestCount: 0
}

Ajax.Responders = {
  responders: [],
  
  _each: function(iterator) {
    this.responders._each(iterator);
  },

  register: function(responderToAdd) {
    if (!this.include(responderToAdd))
      this.responders.push(responderToAdd);
  },
  
  unregister: function(responderToRemove) {
    this.responders = this.responders.without(responderToRemove);
  },
  
  dispatch: function(callback, request, transport, json) {
    this.each(function(responder) {
      if (responder[callback] && typeof responder[callback] == 'function') {
        try {
          responder[callback].apply(responder, [request, transport, json]);
        } catch (e) {}
      }
    });
  }
};
 

denver

?>Скриптер
{} сокращенный вариант new Object()
[] то же что new Array()

тут можно посмотреть как работать:
http://dklab.ru/chicken/nablas/40.html
 
Сверху