Показать сообщение отдельно
  #28 (permalink)  
Старый 17.10.2012, 16:52
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Nekromancer
Вот моя реализация, использую в текущем проекте И с миксинами.
довольно интересно сделано особенно вот этот момент:

if (parent) {

          if (!(this instanceof parent)) {
            self = Object.create(parent.prototype);
          }

          parent.apply(self, arguments);
        }

        handler.apply(self, arguments);
        return self;
      };


Сообщение от Maxmaxmахimus
melky,
а у тебя статик работают так
var Cat = new Class({
    __static__: {
        FAV_CAT_NAME: "пушок"
    },
});

Cat.FAV_CAT_NAME === new Cat().FAV_CAT_NAME // true ?
for (i in static) if (static.hasOwnProperty(i)) {
            constructor[i] = static[i];
        }

они не наследуются.

смотри пример со статическим "вшитым" свойством :

alert( "now" in Date ); //  ну мы знаем, что это за метод такой.

var myDate = new Date(); // создадим экземпляр

alert( "now" in myDate ); // в экземпляре нету статического метода.


Сообщение от Maxmaxmахimus
Удобнее ли вот такой подход?
я поэтому и написал её, чтобы не писать вот так :
Cat.prototype.foo = function ...
Cat.prototype.bar = function ....


и __static__ туда же :
__static__.foo = ...
__static__.bar = ...
__static__.mar = ...


каждый раз повторять одно и то же неохото, поэтому я сделал всё через хеши.

Сообщение от Maxmaxmахimus
Как это делается у тебя?
очевидно, что никак я ими просто не задался.

данная функция просто позиционируется как укорачиватель действий\букв, которые тратятся впустую при обычном прототипном программировании. не более

и я в них я не вижу смысла, т.к. я сам эти "приватные" переменные (с "_" в начале имени свойства) уж точно не запорю, а внешний код в них тоже не сможет вмешаться - все экземпляры подчиняются одному ( класс App ), который является контроллером, и управляет доступом к объектам сам.

Сообщение от Maxmaxmахimus
ну то есть так
по-моему, это называется грязным хаком

Последний раз редактировалось melky, 17.10.2012 в 17:01.
Ответить с цитированием