rightArmy.pikeman ist ein Array, und die letzte console.log zeigt, dass der Wert "hp" von rightArmy.pikeman [0] "-80" ist. Das bedeutet, dass rightArmy.pikeman [0] EXISTIEREN MUSS. Unmittelbar davor prüfe ich den Wert von X mit console.log und es stellt sich heraus, dass es "1" ist. Und dann bekomme ich das:Javascript kann den Wert eines vorhandenen Objekts nicht lesen?
Warum konnte es nicht lesen, wie ist das überhaupt möglich? Ich habe Zeile 291 in meinem Code für Sie markiert.
Console zeigt:
java.js:289 1 X
13: 53: 54,830 java.js: 290 -80
Aber ich möchte, dass x nach jeder Iteration einen neuen Wert hat, deshalb verändere ich das Array. –
dann können Sie stattdessen dies tun: 'while (rightArmy.pikeman.length> 0 && rightArmy.pikeman.hp> 1) ...' und verwerfen die x-Variable; es ist überflüssig. – nadavvadan
Beide Lösungen, die Sie angeboten haben, ändern nichts, Programm wirft immer noch den gleichen Fehler. –