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

Снова всем привет!

Для тех кому не похуйфиг, вылил очередное обновление:
  1. Теперь функция Class вернет экземпляр класса если перед ней будет стоять оператор new, в противном случае вернет сам класс. Пример:
    // стандартное использование, вернет класс
    var MyClass = Class({
        test: "Hello"
    });
    var instance = new MyClass; // создаем экземпляр
    alert(instance.test); // alerts "Hello"
    
    // новая возможность, не нужно создавать экземпляр
    var instance = new Class({
        test: "Hello"
    });
    alert(instance.test); // alerts "Hello"
    
  2. Добавлен параметр compact, который дает возможность убрать/удалить из объекта внутренние свойства __class__ и parent. Пример:
    // при обычном использовании без параметра "compact"
    var obj = new Class({
        myProperty: "ololo"
    });
    for(var key in object) {
        alert(key); // alerts "myProperty", "parent", "__class__"
    }
    
    // новая возможность, с использованием параметра "compact"
    var obj = new Class({compact: true}, {
        myProperty: "ololo"
    });
    for(var key in object) {
        alert(key); // alerts "myProperty"
    }
    
При использовании параметра compact, свойство parent не будет доступно, и конечно же нельзя будет вызвать перекрытый метод родительского класса. В нормальных браузерах можно будет использовать метод .getPrototypeOf() но для ИЕ с его VBScript'ом вряд ли получится.

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