例如,我想用自己的对象替换标准Date
或Math
对象。JavaScript:是否允许覆盖标准的内置对象?
我知道这是不明智的,会导致像instanceof
或toString.call
这样的微妙问题,我们假设所有已知的替代者的公共行为都被模仿。标准是否允许这样的行为?
例如,我想用自己的对象替换标准Date
或Math
对象。JavaScript:是否允许覆盖标准的内置对象?
我知道这是不明智的,会导致像instanceof
或toString.call
这样的微妙问题,我们假设所有已知的替代者的公共行为都被模仿。标准是否允许这样的行为?
标准是否允许这样的行为?
是的。您可以覆盖像控制台,日期等本机对象的方法,但不是unpreventable谁没有原型像Math
。
例如,
Date.prototype.getDate = function(){ return 5 }; //overriding getDate method
new Date().getDate() //returns 5
我明白,我可以修改本机对象,但我可以这样做:'window.Date = MyDate' –
全局范围内的任何东西都可以修改。 – gurvinder372
'非标准是否允许这样的行动?'是的。 – gurvinder372
不推荐,但可能。 –
对于那些投票结束为“基于意见为主”的人来说,这是一个有明确答案的问题,那么你为什么要投票结束POB? –