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