Ваш первый, если условие неверно.Вы говорите if (112 < weight < 115)
.Сначала выполняется 112 < weight
, затем берется результат и сравнивается с 115
.
112 < weight
оценивается как true
или false
;при использовании в числовых сравнениях true
равен 1, а false
равен 0. (Очевидно), что 1 и 0 всегда будут меньше 115, поэтому это условие всегда будет истинным.обратите внимание, что этот скрипт должен запускаться onload
страницы.Это связано с тем, что div с идентификатором weight
может не загружаться при выполнении сценария и попытке его заполнения.Вы можете сделать это, сказав:
<script type="text/javascript">
var wArray = ["fly", "superfly", "bantam", "superbantam", "feather"];
function calculateWeight() {
var weight = parseInt(prompt("What is your weight?"), 10);
while (weight > 126) {
alert('Please enter a weight lighter than 126');
weight = parseInt(prompt("What is your weight?"), 10);
}
recruit();
}
function recruit() {
var weightClass = wArray[0];
if (weight >= 112 && weight < 115) {
weightClass = wArray[1];
} else if (weight >= 115 && weight < 118) {
weightClass = wArray[2];
} else if (weight >= 118 && weight < 122) {
weightClass = wArray[3];
} else if (weight >= 122 && weight < 126) {
weightClass = wArray[4];
}
document.getElementById("weight").innerHTML = ('You are in ' + weightClass + ' class!');
}
</script>
<body onload="calculateWeight()">
<!-- include body contents here -->
</body>