2

似乎如果我修改 Object.prototype,它似乎在所有模块中都是可见的。如果可以隔离这些全局更改,从而保护模块不受模块影响,那就太好

这有可能吗?

4

1 回答 1

1

Object.prototype是一个对象,并且只有一个,所以在一个地方修改它会影响对该对象的所有引用(就像任何对象一样)。这通常被认为是一个好处,因为它使像颜色这样的模块成为可能。没有必要保护模块免受对全局原型的更改,因为这些更改应该只是扩展。如果您或其他人的模块正在修改内置方法/属性,那么这首先可能是不好的做法。

尽管您没有给出示例,但我认为您可能想要创建本地函数(不附加到原型),或者考虑使用继承来解决您对特定对象的关注。

于 2013-04-11T04:04:30.373 回答