为什么Object.prototype.values
在完全不同的地方破坏应用程序?即使values
改为myvalues
Object.prototype.values = function (obj) {
var vals = Object.keys(obj).map(function (key) {
return obj[key];
});
return vals;
}
不应
更改本机对象原型,因为这会在没有 hasOwnProperty 筛选器的情况下中断 for-in 循环,并且可能会在应用或使用的库中的其他位置产生其他副作用。
最好将Object.prototype.values
更改为Object.values
并像Object.keys
一样使用它。