Wir können ein DOM-Element modifizieren und zu seinem Prototyp hinzufügen. Zum Beispiel, wenn wir etwas nur auf die Leinwand hinzufügen möchten, würden wir so etwas tun:Funktionen an einer Instanz eines Elements anhängen
HTMLCanvasElement.prototype.doSomething = function(arg) { ... };
Wir können dann diese Aktion ausführen auf einem Canvas-Element:
var canvas = document.getElementById('canvasId');
canvas.doSomething(...);
Ist es Es ist möglich, dieser Instanz der Zeichenfläche eine Funktion hinzuzufügen/anzuhängen, ohne den Prototyp von HTMLcanvasElement zu ändern. Ich möchte nur eine Arbeitsfläche, auf der doSomething (...) aufgerufen wurde, um auf die zusätzlichen Methoden zugreifen zu können, nicht auf alle Canvas-Elemente im DOM. Wie kann ich das machen?
Ich habe folgendes in meiner doSomething Funktion versucht:
this.prototype.foobar = function() {...}
jedoch Prototyp ist hier nicht definiert.
Auf diese Weise können alle Instanzen foobar haben, wenn sie doSomething aufrufen. – Anoop
Möglicherweise möchten Sie einen Haken hinzufügen, um zu sehen, ob 'this.foobar' bereits vorhanden ist, bevor Sie es setzen. Auf diese Weise wird jedes Mal, wenn sie 'doSomething' aufrufen,' this.foobar' nicht zurückgesetzt. – Ian
Ah ja, danke! – Sai