En essayant de déboguer, je reçois l’erreur «longueur» nulle avec cette ligne. Il est écrit exactement comme le livre l’a recommandé, alors je ne comprends pas pourquoi cela me donne l’erreur? Merci, =)
if (capital.length < 1) {
(voici le code complet tel que demandé .. SORRY)
<script type="text/javascript">
var capital = window.Prompt("What is the capital of Missouri?","")
if (capital.length < 1) {
document.getElementById("firstdiv").innerHTML="Sorry you don't feel like playing.<br /> The Capital of Missouri is Jefferson City.";
}
else {
if (!window.confirm("Is that your final answer?")){ return true;
document.getElementById("firstdiv").innerHTML = "The capital of Missouri is: <bold>" + capital + "</bold>, so says you.";
}
else{
return false;
}
}
</script>
Le test approprié est:
if (capital != null && capital.length < 1) {
Cela garantit que capital
est always non non, lorsque vous effectuez le contrôle de longueur.
De plus, comme le suggèrent les commentaires, capital
est null
car vous ne l'initialisez jamais.
if (capital.touched && capital != undefined && capital.length < 1 ) {
//capital does exists
}
À partir du code que vous avez fourni, ne connaissant pas le langage dans lequel vous programmez. La variable capital
est null. Lorsque vous essayez de lire la longueur de la propriété, le système ne peut pas le faire car il essaie de déférencer une variable nulle. Vous devez définir capital
.
J'ai essayé ceci:
if(capital !== null){
//Capital has something
}