Pull to refresh
17
0
Андрей Рогов @rogallic

User

Send message

Обновление интерфейса Google

Reading time1 min
Views72K
На правах: «А мужики ведь не знают» — покажу как выглядит сейчас поиск гугла в браузере Chrome:
image
Заметьте, той тёмной строки в верху страниц больше нет. Её заменили значком «Сервисы», слева от значка нотификации(колокольчика).
Более спорный момент — строка поиска осталась только в строке адреса. С одной стороны — незачем плодить одинаковые сущности, с другой — микрофон и кнопка настроек выглядят «одиноко».

А вот стартовая страница(новая вкладка) Chrome:
image
Читать дальше →
Total votes 103: ↑65 and ↓38+27
Comments42

Мой extend и стиль наследования классов

Reading time8 min
Views14K
В данном посте хочу рассказать как предпочитаю реализовывать наследование в объемном JavaScript приложении.

Допустим для проекта необходимо множество родственных и не очень классов.
Если мы попытаемся каждый тип поведения описать в отдельном классе, то классов может стать очень много. И у финальных классов может быть с десяток предков. В таком случае обычного JavaScript наследования через prototype может оказаться не достаточно. Например мне понадобилась возможность из метода вызывать аналогичный метод класса-предка. И захотелось создавать и наследовать некоторые статические свойства и методы класса. Такую функциональность можно добавить, вызывая для каждого класса ниже изложенную ф-ию extend:

Функция extend


cSO = {}; // Просто для отдельного пространства имен.
cSO.extend = function(child, parent, other) {
  if(parent) {
    var F = function() {};
    F.prototype = parent.prototype;
    child.prototype = new F();
    child.prototype.constructor = child;
    child.prototype.proto = function() {
      return parent.prototype;
    }
    // Пока все стандартно.
  } else {
    child.prototype.proto = function() {
      return;
    }
  }
  /*
   * У классов есть параметр stat, предназначенный для статических ф-ий и данных.
   * Он доступен через _class.stat или из объекта(экземпляра) класса через this.stat.
   * Потомки могут обращаться к статическому методу предка, для этого их нужно
   * объявлять так: _class.stat.prototype.myStaticMethod = function() {...
Читать дальше →
Total votes 34: ↑19 and ↓15+4
Comments19

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity