Ich habe folgende Javascript-Methode:wie kann ich eine String-Methode in einer String-Prototyp Erweiterungsmethode verwenden
String.prototype.includesAny = function(search) {
var found = false;
search.forEach(function(str) {
if(this.toLowerCase().includes(str.toLowerCase())) {
found = true;
}
});
return found;
};
Aber es führt den Fehler this.toLowerCase is not a function
Ich denke das liegt daran, this
nicht wirklich ist eine Instanz von String an diesem Punkt? Jeder kennt den richtigen Weg, um das zu tun, was ich tue (und benutze immer noch das Prototyp-Paradigma).
Sie haben die Callback-Funktion nicht an 'this' gebunden. Verwenden Sie das ['thisArg'-Argument von' forEach'] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach). – trincot
Grundsätzlich ein Duplikat von [Wie kann man auf den richtigen 'this/context innerhalb eines Callbacks zugreifen?] (Http://stackoverflow.com/q/20279484/218196) –