Quand je lisais le code source de jquery aujourd'hui, j'ai trouvé un problème que je n'avais jamais remarqué auparavant, qui est le problème lorsque le deuxième paramètre de replace() est une fonction. Je savais que le deuxième paramètre de replace. () peut être une fonction, mais je ne sais pas comment la faire fonctionner. Quand j'ai vu une fonction utilisée comme deuxième paramètre de replace() dans le code source aujourd'hui, j'ai senti qu'elle était difficile à lire, alors j'ai planifié. pour régler cette fonction...
Grammaire
stringObject.replace(regexp/substr, remplacement)
Valeur de retour
Renvoie une nouvelle chaîne obtenue en remplaçant la première correspondance ou toute correspondance souhaitée d'expression rationnelle par un remplacement
Lorsque le remplacement du paramètre de la méthode replace() est une fonction, dans ce cas, la fonction est appelée pour chaque correspondance et la chaîne renvoyée par la fonction est utilisée comme texte de remplacement. Le premier paramètre de cette fonction est une chaîne correspondant au modèle. Le paramètre suivant est une chaîne qui correspond à la sous-expression dans le modèle. Il peut y avoir 0 ou plusieurs paramètres de ce type. Le paramètre suivant est un entier qui déclare la position dans stringObject où la correspondance se produit. Le dernier paramètre est le stringObject lui-même. Cette phrase a été copiée de w3cschool. Pour moi maintenant, je ne comprends pas très bien le paragraphe ci-dessus, et je ne peux pas simplement le décrire avec mes propres mots, je ne peux donc utiliser que des exemples pour tout illustrer
Ce qui précède est le code source jquery que je regardais aujourd'hui
J'ai l'impression de comprendre cette fonction maintenant que je ne la comprenais pas à l'époque
Ensuite, je me souviens que je ne sais pas quand dans le passé, j'ai rencontré des symboles étranges lors de l'utilisation de replace(), qui étaient des symboles étranges pour moi à cette époque, comme "$1, $2" et ainsi de suite. Maintenant, Ye Lai a une réponse à cette question
$1, $2, $3.... signifie capturer 1, 2, 3....
$& représente une expression rationnelle correspondant à une sous-chaîne
$` représente le texte situé à gauche de la sous-chaîne correspondante
$' représente le texte situé à droite de la sous-chaîne correspondante
$$ est directement le symbole $
C'est là que je ne suis pas clair sur l'utilisation de la méthode replace(). Je suis un novice du front-end. S'il y a quelque chose qui ne va pas dans ce que j'ai écrit, ou s'il existe des exemples d'une meilleure utilisation de cette méthode. , j'espère que vous pourrez le partager...
Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.