我们可以修改一个 DOM 元素并添加到它的原型中。例如,如果我们只想在画布上添加一些东西,我们会这样做:
HTMLCanvasElement.prototype.doSomething = function(arg) { ... };
然后我们可以在画布元素上执行此操作:
var canvas = document.getElementById('canvasId');
canvas.doSomething(...);
是否可以在不修改 HTMLCanvasElement 原型的情况下向此画布实例添加/附加函数。我只想要一个调用 doSomething(...) 的画布来访问其他方法,而不是 DOM 中的所有画布元素。我怎样才能做到这一点?
我在 doSomething 函数中尝试了以下操作:
this.prototype.foobar = function() {...}
但是,原型在这里是未定义的。