将方法添加到本机JavaScript对象

raj*_*kvk 2 javascript

将方法添加到本机JavaScript对象(如Object,Function,Array,String等)被视为不良做法.

但我不明白为什么?

有人可以透露这个吗?

提前致谢.

glm*_*ndr 6

因为您可能碰巧使用了一个定义了具有相同名称的函数的库,但是以另一种方式工作.

通过覆盖它,你打破了另一个库的行为,然后你在调试模式下划伤你的头.

编辑

如果你真的想用一个非常不愉快的名称添加一个方法类似prependMyCompanyName(...)String原型,我认为这几乎是无风险从一个角度压倒一切的点.但我希望你不必经常打字......

在我看来,最好的方法是定义一个MyCompanyUtils对象(你可以找到一个快捷方式$Utils),并让它有一个prepend(str,...)方法.