Il y a deux jours, sur un site que je suis le seul auteur, j'ajouté ce code à un script:Quel est le problème avec ma logique? (Longueur de la chaîne JS)
if (PowerArray[0][0].length < 1);
{
return false;
}
et tout a bien fonctionné. Lorsque PowerArray [0] [0] était "70", le script s'exécutait. Lorsque PowerArray était vide, le script ne dépassait pas la ligne citée ci-dessus. Ce n'est plus vrai. Pour la vie de moi, je ne peux pas comprendre. Je l'ai testé avec des variantes du code, comme ci-dessous:
if (PowerArray[0][0].length < 1);
{
alert(PowerArray[0][0].length);
return false;
}
et mis PowerArray [0] [0] = "70". Quand je cours le code, j'obtiens une alerte avec "2" dans le texte. C'est le seul endroit où j'ai une alerte dans le script. Que se passe-t-il ici et comment le réparer?
Remarque: Le comportement attendu est, bien sûr, pas d'alerte, car "70" a une longueur de 2, et ne devrait pas déclencher la vérité de l'if.
Editer: 1) Oui, le False
dans le premier bloc était une faute de frappe. Cela a été corrigé. 2) Le comportement attendu était d'arrêter le traitement si (et seulement si) PowerArray [0] [0] .length était 0. 3) J'avais précédemment initialisé PowerArray comme un tableau vide, puis ai copié un tableau (qui avait le potentiel d'être vide) en elle.
Vous avez des points-virgules à la fin de vos déclarations 'if' qui pourraient causer des problèmes. –
Je n'ai pas vérifié, mais je suis assez certain que «Faux» ne devrait pas fonctionner du tout. Faute de frappe? –
Avez-vous vérifié votre console d'erreur? – tjameson