我不是在问这是否可以:
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
});
如果您认为上述内容是不道德的,那么他们为什么会首先实施该功能?