Als ich heute den Jquery-Quellcode las, entdeckte ich ein Problem, das mir noch nie zuvor aufgefallen war, nämlich das Problem, wenn der zweite Parameter von replace() eine Funktion ist, von der ich früher wusste, dass der zweite Parameter von replace ist () kann eine Funktion sein, aber ich weiß nicht, wie ich sie bedienen soll. Als ich heute im Quellcode eine Funktion sah, die als zweiter Parameter von replace() verwendet wurde, hatte ich das Gefühl, dass sie schwer zu lesen war, also habe ich geplant um diese Funktion zu klären...
Grammatik
stringObject.replace(regexp/substr, replacement)
Rückgabewert
Gibt eine neue Zeichenfolge zurück, die durch Ersetzen des ersten Treffers oder eines beliebigen regulären Ausdrucks durch Ersatz
erhalten wirdWenn die Parameterersetzung der Methode replace() eine Funktion ist, wird in diesem Fall die Funktion für jede Übereinstimmung aufgerufen und die von der Funktion zurückgegebene Zeichenfolge wird als Ersetzungstext verwendet. Der erste Parameter dieser Funktion ist eine Zeichenfolge, die dem Muster entspricht. Der nächste Parameter ist eine Zeichenfolge, die dem Unterausdruck im Muster entspricht. Es können 0 oder mehr solcher Parameter vorhanden sein. Der nächste Parameter ist eine Ganzzahl, die die Position in stringObject angibt, an der die Übereinstimmung auftritt. Der letzte Parameter ist das stringObject selbst. Dieser Satz wurde von w3cschool kopiert. Ich verstehe den obigen Absatz nicht ganz und kann ihn nicht einfach in meinen eigenen Worten beschreiben, daher kann ich nur Beispiele verwenden, um alles zu veranschaulichen
Das Obige ist der JQuery-Quellcode, den ich mir heute angesehen habe
Ich habe das Gefühl, dass ich diese Funktion jetzt verstehe, obwohl ich sie damals nicht verstanden habe
Dann erinnere ich mich jetzt daran, dass ich nicht weiß, wann ich in der Vergangenheit bei der Verwendung von replace() auf seltsame Symbole gestoßen bin, die für mich damals seltsam waren, wie zum Beispiel „$1, $2“ und so weiter. Jetzt hat Ye Lai eine Antwort auf diese Frage
$1, $2, $3.... bedeutet die Erfassung von 1, 2, 3...
$& stellt einen Teilstring dar, der zum regulären Ausdruck passt
$` stellt den Text dar, der sich links von der passenden Teilzeichenfolge befindet
$' stellt den Text dar, der sich auf der rechten Seite der übereinstimmenden Teilzeichenfolge befindet
$$ ist direkt das $-Symbol
Oben ist mir die Verwendung der Methode „replace()“ nicht klar. Ich bin ein Front-End-Neuling, ob in dem, was ich geschrieben habe, etwas nicht stimmt oder ob es Beispiele für eine bessere Verwendung dieser Methode gibt , ich hoffe du kannst es teilen...
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.