Показать сообщение отдельно
  #46 (permalink)  
Старый 25.07.2012, 16:18
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от x-yuri
Кстати, можно как-то в прототипе указать конструктор? Или надо для этого указывать функцию вместо объекта?
хм.. не совсем понял что имеется ввиду. конструктор выглядит так:
Class("Foo", {
    context: window,
    extends: "Bar",
    implements: [ "IBase", "IPersistent" ],
}, {
    // это и есть конструктор, который сработает при создании экземпляра класса
    constructor: function( test ) {
        alert( test );
    }
});
new Foo( "Hello!" );
можно писать и так:
Class("Foo", {
    context: window,
    extends: "Bar",
    implements: [ "IBase", "IPersistent" ],
}, function() {
    // тут можно поместить приватные переменные, для каждого экземпляра они свои собственные.
    var private = "tarata";

    return {
        // это и есть конструктор, который сработает при создании экземпляра класса
        constructor: function( test ) {
            alert( test );
        }
    }
});
new Foo( "Hello!" );

Сообщение от x-yuri
Ну и, предыдущий интерфейс остался же? Я считаю, не стоит стремится всем угодить.
Я и не пытаюсь угодить всем, я пытаюсь сделать так что бы не переписывать уже написанные свои классы, я их уже штук 50 начирикал. Лениво переиначивать

Сообщение от x-yuri
Я не очень старался, но я не въехал в код угадывания какой входной параметр что обозначает.
А гадать и не надо, ты и так правильно все понял.

Первый Имя,
Второй свалка,
Третий объект класса

либо

Первый Имя,
Второй объект класса
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine

Последний раз редактировалось devote, 26.07.2012 в 08:50. Причина: исправил примеры
Ответить с цитированием