Цитата:
|
и ДА, на каждый перекрываемый метод родительского класса в дочернем создает замыкание. И я думаю потеря в 50 миллисекунд на 1000000 операций того стоит.
все ради того чтобы писать не (как в педыдущих версиях) patent.run.apply(this, arguments); а this.super(); п.с. к слову, в оригинальной версии работает даже new Cat instanceof Cat // true new Cat instanceof Animal // true new Cat instanceof Class // true и Class.prototype.q = 11 new Cat().q // 11 и все это с поддержкой ie 6 |
Цитата:
|
если бы не ишаки то добавил бы фиксированный this и define property
а вообще официально можно поддерживать только текущую и предыдущую версии чего-либо.. то есть щас ишак 10 и 9, 8 уже можно больше не пддерживать и посылать всех нахуй. |
Теперь собственно зачем это нужно, за тем чтобы конструктор был таким же методом как и все остальные и тоже наследовался.
Иначе мы не сможем сделать нормальное наследование. Например: function Button (){ document.createElement('div') } function Toggle (){ /* бла бла бла преключатель на основе кнопки */ } Toggle.prototype = new Button; ТАК ШТОЛЕ НАМ НАСЛЕДОВАНИЕ ДЕЛАТЬ? Вот и я про то, конструктор должен быть методом (в нашем случае это протектед метод __construct который наследуется и скрытый) А так же затем чтобы можно было удобно обращаться к перекрытым родительским методам через this.super(). а не так : this.run = function(){ Object.getPrototypeOf(this).run.apply(this,arguments); alert('...and jump') } все, больше у этой байды назначений нет. если вы не пользуете наследование в своих проектах то Class и нахуй не нужна. И вообще, для тех кто не понимает что такое ооп и что такое классы вообще, чтобы вы не плакались, замените название функции на Type. |
Цитата:
В реальной жизни у программы есть назначение, у программы есть заказчик, и у программы есть пользователи. Требования к ПО определяет не программист, а заказчик. заказчиков требующих поддержку олдскульных браузеров можно поделить на две категории. Просто тупые - ты гордо говоришь что сделал, клиент идёт домой запускает XP, запускает 7й ишак с кучей плагинов на пол экрана :) и видит что ничего не работает. В истерике звонит тебе и начинает орать что он заплатил деньги, что вы долго долго делали и всё равно ни хуя не работает. Короче вы уроды, недоучки и дебилы в его глазах, и вообще он хочет обратно свои деньги и никогда работать с вами он больше не будет. умные - у них есть статистика по браузерам посетителей их ресурса. И тут выясняется что допустим целевая аудитория врачи, основная ось на рабочих пк у них XP, установка программ обычно запрещена администратором компов. Получается что часть бедолаг сидит тна 7мом а то и 6м ишаке. Заказчик видит эту статистику, звонин вам и обьясняет "дык ребят я всё понимаю но я немогу позволить себе пожертвовать 20% посетителей", и ты либо отказываешся от заказа либо выполняешь его требования. Требования определяет заказчик а ни программист. Иногда требования некорректны иногда противоречивы или невыполнимы(прим HTML5 CSS3 анимацию на 6ie). Но с требованиями нужно и можно работать, существует даже такое направление как инженерия требований, существует специальность инженер по требованиям (редко- редко). А вот посылать, просто потому что не хочется что-то делать можно только в фантазиях. |
Цитата:
Цитата:
// JS 1.5 function () { return false; } // JS не помню какой версии function () false; тем более, что на хабре начали всё чаще публиковать статьи про ФП - почему бы не перейти? кода действительно намного меньше получается. Цитата:
fadeIn и fadeOut программируется на фильтрах - я хочу сказать, что это то же самое, что и css3 анимация. там ещё куча фильтров, но они анимируют изменение состояния элемента, а не изменение значений свойств - так, например, в IE можно анимировать смену innerHTML, а в других браузерах придётся выёпываться, и наоборот. |
какой нафиг функциональный язык если "функции" в js являются объектами?
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 06:36. |