1. Écrivez une fonction JavaScript et saisissez un sélecteur du type spécifié (seuls trois sélecteurs CSS simples, id, class et tagName, doivent être pris en charge, pas besoin d'être compatibles avec les sélecteurs combinés)
Le problème est le suivant : je n'arrive pas à comprendre la correspondance régulière suivante, var reg = /^(#)?(.)?(w+)$/img;var regResult = reg.exec(selector);, les détails sont les suivants
var query = function(selector) {
var reg = /^(#)?(\.)?(\w+)$/img;
var regResult = reg.exec(selector);
var result = [];
//如果是id选择器
if(regResult[1]) {
...
}
//如果是class选择器
else if(regResult[2]) {
...
}
//如果是标签选择器
else if(regResult[3]) {
...
}
}
/^(#)?(.)?(w+)$/img
Tear it apart // est le contenu régulier suivi de img qui est la méthode de correspondance régulière
i:ignorCase ignore la casse
m : multiple permet une correspondance sur plusieurs lignes
g:globle effectue une correspondance globale, qui fait référence à la correspondance avec la cible Fin de la chaîne
Contenu régulier :
.^(#)?(.)?(w+)$
^ signifie commencer par xxx $ signifie terminer par xxxx(#) ? Cela peut être avec ou sans #
(.) ? Cela peut être avec ou sans
(w+) correspond à un ou plusieurs mots
/^(#)?(.)?(w+)$/img
(#)?
ID correspondant(.)?
Correspondre au nom de la classe(w+)
Le reste sont des noms de balises ou des identifiants ou des noms de classe spécifiques dans [1,2]Xie Yao.
Veuillez vous référer à @trionfo1993
Donnez-vous un fragment dom dans les utilitaires que j'ai écrit