所以,你可以這樣做:修改本地CanvasRenderingContext2D功能
window.alert=function(a) {
return function(b) {
a(b+'!')
}
}(window.alert)
現在突然alert('Hi')
會提醒Hi!
。所以,該窗口的警報功能已成功修改。樂趣。
現在我遇到的問題是將相同的概念應用於HTML5的CanvasRenderingContext2D
(畫布)。我不確定prototype
是否是問題或者是其他問題,但當我嘗試調用新修改的lineTo函數時,它返回「非法調用」錯誤。
CanvasRenderingContext2D.prototype.lineTo=function(a) {
return function(b,c) {
a(b,c)
return this
}
}(CanvasRenderingContext2D.prototype.lineTo)
任何人都可以得到這個工作或至少找出究竟是什麼導致它?
另外,如果你想知道,我想要做到這一點的理由是創建與畫布功能鏈接(例如context.lineTo(10,15).lineTo(20,15).lineTo(20,20)
)。