Ответы пользователя по тегу Макеты и прототипы
  • Синтаксис ООП в js и использование prototype

    Ну на самом деле разница между B и E есть, в случае E, когда метод объявляется прямо в конструкторе он будет иметь доступ к приватным переменным и методам, это так называемые привилегированные методы, а вот в примере B нет возможности работать с приватными данными.
    Вот о чем я говорю:
    var MyClass = function() {
      // Приватные атрибуты
      var _a, _b;
      // Приватный метод
      function _myPrivate(isbn) {
      } 
      // публичный привилегированный метод
      this.MyPublicPlus = function() {

      };
    }

    // публичный непривилегированный метод.
    MyClass.prototype = {
      MyPublic: function() {
      }
    };


    Метод MyPublicPlus будет иметь доступ к _a, _b и _myPrivate(), а MyPublic нет…
    Ответ написан
    Комментировать