JavaScript:是否允许覆盖标准的内置对象



例如,我想用我自己的对象替换标准DateMath对象。

我知道这是不明智的,并且会导致诸如instanceoftoString.call之类的微妙问题,让我们假设替换者的所有已知公开行为都被模仿了。标准是否允许此类操作?

标准是否允许此类操作?

是的。您可以覆盖本机对象(如控制台,Date等)的方法,但对于没有像Math这样的原型的人来说并非不可避免。

例如

Date.prototype.getDate = function(){ return 5 }; //overriding getDate method
new Date().getDate() //returns 5

最新更新