Как стать автором
Поиск
Написать публикацию
Обновить
17
0
Андрей Рогов @rogallic

Пользователь

Отправить сообщение

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

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

А вот стартовая страница(новая вкладка) Chrome:
image
Читать дальше →

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

Время на прочтение8 мин
Количество просмотров14K
В данном посте хочу рассказать как предпочитаю реализовывать наследование в объемном 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() {...
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность