Показать сообщение отдельно
  #1661 (permalink)  
Старый 14.12.2015, 23:07
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

pnpquest, на классах писать гораздо удобнее, чем на прототипах. Там и наследование нормальное, приватные данные, super и многое другое. Да и возможностей больше. Это конечно всё на прототипах тоже можно, но жутко неудобно.

В общем, когда модули/плагины писать будешь - поймёшь.

Вот как я реализовываю приватные функции и переменные на прототипах:

!function(window) {

    var Private = {
        foo: 'bar',
        test: function() {
            return Private.foo + '!!!';
        }
    };

    window.MyClass = function() {
        this.fooBar = Private.test.call(this);
    };

}(window);


И как это можно написать на классах:

Class MyClass {

    private var foo:String = 'bar';
    private function test():void {
         return this.foo;
    }

    public function MyClass() {
         this.fooBar = this.test();
    }
}


P.S.: синтаксис классов на JS точно не знаю какой, так как не писал ещё, поэтому пример из AS3.

Последний раз редактировалось ruslan_mart, 14.12.2015 в 23:16.
Ответить с цитированием