Я не спрашиваю, все ли в порядке:
Object.prototype.method = function(){};
Это считается злом почти всеми, считая, что это беспорядок for(var i in obj)
.
Реальный вопрос
Игнорирование
- Некомпетентные браузеры (браузеры, которые не поддерживают
Object.defineProperty
) - Потенциал для столкновения свойств или переопределения
Предполагая, что у вас есть полезный метод невероятно, считается ли это неправильным/неэтичным?
Object.defineProperty(Object.prototype, 'methodOnSteriods',{
value: function(){ /* Makes breakfast, solves world peace, takes out trash */ },
writable: true,
configurable: true,
enumerable: false
});
Если вы считаете, что вышеизложенное неэтично, почему бы им даже реализовать эту функцию в первую очередь?