例如,我想用我自己的对象替换标准Date
或Math
对象。
我知道这是不明智的,并且会导致诸如instanceof
或toString.call
之类的微妙问题,让我们假设替换者的所有已知公开行为都被模仿了。标准是否允许此类操作?
标准是否允许此类操作?
是的。您可以覆盖本机对象(如控制台,Date等)的方法,但对于没有像Math
这样的原型的人来说并非不可避免。
例如
Date.prototype.getDate = function(){ return 5 }; //overriding getDate method
new Date().getDate() //returns 5