2017-10-20 31 views
0

例如,我想用自己的对象替换标准DateMath对象。JavaScript:是否允许覆盖标准的内置对象?

我知道这是不明智的,会导致像instanceoftoString.call这样的微妙问题,我们假设所有已知的替代者的公共行为都被模仿。标准是否允许这样的行为?

+0

'非标准是否允许这样的行动?'是的。 – gurvinder372

+0

不推荐,但可能。 –

+0

对于那些投票结束为“基于意见为主”的人来说,这是一个有明确答案的问题,那么你为什么要投票结束POB? –

回答

2

标准是否允许这样的行为?

是的。您可以覆盖像控制台,日期等本机对象的方法,但不是unpreventable谁没有原型Math

例如,

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

new Date().getDate() //returns 5 
+0

我明白,我可以修改本机对象,但我可以这样做:'window.Date = MyDate' –

+0

全局范围内的任何东西都可以修改。 – gurvinder372