Maison  >  Article  >  interface Web  >  Une brève discussion sur l'initialisation des variables dans les compétences js_javascript

Une brève discussion sur l'initialisation des variables dans les compétences js_javascript

WBOY
WBOYoriginal
2016-05-16 16:16:131188parcourir

J'ai écrit une fonction en js qui supprime les espaces de début et de fin et les caractères spécifiques. Le code est le suivant :

Copier le code Le code est le suivant :

fonction trim(str, charlist) {
Return str.replace(new RegExp('^[\s' charlist '] |[\s' charlist '] $', 'g'), '');
>

Le code semble correct et s'exécute sans erreur.

Jusqu'à aujourd'hui, lorsque j'ai recherché "note3" dans la barre de recherche, j'ai constaté que le contenu de la recherche dans la barre d'adresse était devenu "ote3", alors que les autres lettres ou chiffres commençant par celui-ci sont normaux. adresse C'est ce qu'il y a dans la colonne.

Après avoir débogué le code, modifiez le code en :

Copier le code Le code est le suivant :

fonction trim(str, charlist) {
var liste char = liste char || "";
Return str.replace(new RegExp('^[\s' charlist '] |[\s' charlist '] $', 'g'), '');
>

Ajout de l'initialisation de charlist dans la fonction. Lors de la recherche de "note3", le résultat est correct.

Bien que js soit un langage faiblement typé, l'utilisation de variables ne nécessite pas d'initialisation lors de l'exécution, le code convertira et attribuera automatiquement des valeurs. Cependant, cela entraînera des problèmes inattendus, il est donc très nécessaire d'initialiser toutes les variables utilisées.

C'est tout pour aujourd'hui, j'espère que ça vous plaira.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn