Мы можем изменить элемент DOM и добавить его прототип. Например, если мы хотим добавить что-то только на холст, мы бы сделали что-то вроде этого:
HTMLCanvasElement.prototype.doSomething = function(arg) { ... };
Затем мы можем выполнить это действие для элемента canvas:
var canvas = document.getElementById('canvasId');
canvas.doSomething(...);
Можно ли добавить/прикрепить функцию к этому экземпляру холста, не изменяя прототип HTMLCanvasElement. Я только хочу, чтобы холст, где вызывался doSomething (...), имел доступ к дополнительным методам, а не ко всем элементам холста в DOM. Как я могу это сделать?
Я попробовал следующее в моей функции doSomething:
this.prototype.foobar = function() {...}
Однако прототип здесь не определен.