2017-10-20 66 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