29.08.2011, 15:33
|
|
Профессор
|
|
Регистрация: 19.08.2011
Сообщений: 186
|
|
Как Вы относитесь к изменению Object.prototype
сабж
|
|
29.08.2011, 15:36
|
|
Профессор
|
|
Регистрация: 01.07.2010
Сообщений: 387
|
|
отрицательно
|
|
29.08.2011, 15:43
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Изменение прототипов встроенных объектов добавлением нестандартных методов (и, тем более, свойств) — великое зло, я считаю. Но добавлять стандартизированные методы (indexOf для массивов, bind для функций и т.д.) в случае их отсутствия я не считаю чем-то плохим.
Изменение Object.prototype, там самым, вообще смертный грех, т.к. затрагивает вообще все объекты.
|
|
29.08.2011, 16:03
|
|
Профессор
|
|
Регистрация: 19.08.2011
Сообщений: 186
|
|
Фреймворк prototype.js не брезгует, если верить статьям
|
|
29.08.2011, 16:10
|
Профессор
|
|
Регистрация: 29.06.2011
Сообщений: 445
|
|
Сообщение от systemiv
|
Фреймворк prototype.js не брезгует, если верить статьям
|
Фреймворк prototype.js не брезгует и расширением DOM, что уж тут говорить, что вообще ужасно. И не только он, если я не ошибаюсь Mootools тоже этим грешит.
|
|
29.08.2011, 16:12
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
systemiv, ну и пострадали они от этого.
Сообщение от http://perfectionkills.com/whats-wrong-with-extending-the-dom/
|
Some examples of proprietary extensions that broke Prototype are wrap property on textareas in IE (colliding with Element#wrap method), and select method on form control elements in Opera (colliding with Element#select method). Even though both of these cases are documented, having to remember these little exceptions is annoying.
Proprietary extensions are not the only problem. HTML5 brings new methods and properties to the table. And most of the popular browsers have already started implementing them. At some point, WebForms defined replace property on input elements, which Opera decided to add to their browser. And once again, it broke Prototype, due to conflict with Element#replace method.
|
Рекомендую, кстати, почитать цитируемую статью. И эту.
|
|
30.08.2011, 13:07
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Если не считать Opera браузером, то в ES5 есть Object.create() , который введен для разрешения некторых конфликтов связанных с Object.prototype в т.ч., а именно определение { value: , writable: , enumerable: , configurable: }
Последний раз редактировалось monolithed, 30.08.2011 в 13:12.
|
|
30.08.2011, 13:17
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от monolithed
|
Если не считать Opera браузером
|
|
|
30.08.2011, 13:17
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Сообщение от monolithed
|
Если не считать Opera браузером
|
ну даёте
|
|
03.09.2011, 20:45
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Сообщение от Kolyaj
|
Если не считать Opera браузером
|
Я вот никогда не считал.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
|
|
|
|