Ich schreibe Code, der this
in einem Prototyp referenzieren muss, aber es kann keine Funktion sein. Javascript lässt mich das nicht tun, aber es scheint, als ob die length
Eigenschaft von Arrays und Strings dies tut. Ich weiß, dass length
eingebaut ist, und mein Code ist nicht, aber wenn ich kann, wie implementiere ich das?Wie funktioniert die Längeneigenschaft?
Ich habe versucht:
String.prototype.prototypeName = (function(aThing){
//Do whatever I need to do here
})(this);
aber, dass Verweise auf das globale Objekt, weil this
außerhalb der Funktion aufgerufen.
Das ist jedoch eine Funktion, und das kann ich nicht haben.
Ich kann keine Funktion haben, weil der Benutzer die Funktion aufrufen und typeof
darauf verwenden kann, und der Prototyp soll eine Zeichenfolge zurückgeben. Zum Beispiel:
String.prototype.reverse = "Put something that is the reversed string (or this)";
console.log("Stuff"); //"ffutS"
console.log("Anything"); //gnihtynA
Verwenden Sie einen Getter https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get –
"* Verweis das in einem Prototyp, aber es kann keine Funktion sein *", " * Der Prototyp soll eine Zeichenkette zurückgeben * "- was? Bitte zeigen Sie das erwartete Ergebnis, wie Sie das Ding verwenden würden, nach dem Sie fragen. – Bergi
Nein, es ist unmöglich, das, was '.length' für Arrays bewirkt, erneut zu implementieren. – Bergi