【发布时间】:2011-10-17 05:14:11
【问题描述】:
所以,你可以这样做:
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))。
【问题讨论】:
标签: javascript html canvas prototype-programming