【问题标题】:I am trying to make a Height calculator, with javascript if/else statements我正在尝试使用 javascript if/else 语句制作一个高度计算器
【发布时间】:2022-12-17 13:55:52
【问题描述】:

我正在尝试制作一个网页,如果他们无法说出自己的身高,该网页可以根据他们的尺骨长度计算出某人的身高。但是,代码不起作用。

我才刚刚开始学习编码,我不明白出了什么问题。

var genderInput = document.querySelector(".gender-input-field");
var ageInput = document.querySelector(".age-input-field");
var lengthInput = document.querySelector(".length-input-field");
var calculateButton = document.querySelector(".calculate");
var statement = document.querySelector(".statement");

calculateButton.addEventListener("click", () => {

  if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 32)) {
    statement.innerText = "194 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 32)) {
    statement.innerText = "187 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 31.5)) {
    statement.innerText = "193 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 31.5)) {
    statement.innerText = "186 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 31)) {
    statement.innerText = "191 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 31)) {
    statement.innerText = "184 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 30.5)) {
    statement.innerText = "189 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 30.5)) {
    statement.innerText = "182 cm"
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 30)) {
    statement.innerText = "187 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 30)) {
    statement.innerText = "181 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 29.5)) {
    statement.innerText = "185 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 29.5)) {
    statement.innerText = "179 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 29)) {
    statement.innerText = "184cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 29)) {
    statement.innerText = "178 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 28.5)) {
    statement.innerText = "182 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 28.5)) {
    statement.innerText = "176 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 28)) {
    statement.innerText = "180 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 28)) {
    statement.innerText = "175 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 27.5)) {
    statement.innerText = "178 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 27.5)) {
    statement.innerText = "173 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 27)) {
    statement.innerText = "176 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 27)) {
    statement.innerText = "171 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 26.5)) {
    statement.innerText = "175 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 26.5)) {
    statement.innerText = "170 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 26)) {
    statement.innerText = "173 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 26)) {
    statement.innerText = "168 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 25.5)) {
    statement.innerText = "171 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 25.5)) {
    statement.innerText = "167 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 25)) {
    statement.innerText = "169 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 25)) {
    statement.innerText = "165 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 24.5)) {
    statement.innerText = "167 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 24.5)) {
    statement.innerText = "163 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 24)) {
    statement.innerText = "166 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 24)) {
    statement.innerText = "162 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 23.5)) {
    statement.innerText = "164 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 23.5)) {
    statement.innerText = "160 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 23)) {
    statement.innerText = "162 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 23)) {
    statement.innerText = "159 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 22.5)) {
    statement.innerText = "160 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 22.5)) {
    statement.innerText = "157 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 22)) {
    statement.innerText = "158 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 22)) {
    statement.innerText = "156 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 21.5)) {
    statement.innerText = "157 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 21.5)) {
    statement.innerText = "154 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 21)) {
    statement.innerText = "155 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 21)) {
    statement.innerText = "152 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 20.5)) {
    statement.innerText = "153 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 20.5)) {
    statement.innerText = "151 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 20)) {
    statement.innerText = "151 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 20)) {
    statement.innerText = "149 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 19.5)) {
    statement.innerText = "149 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 19.5)) {
    statement.innerText = "148 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 19)) {
    statement.innerText = "148 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 19)) {
    statement.innerText = "146 cm";
  } else if ((genderInput.value = "male") && (ageInput.value < 65) && (lengthInput.value = 18.5)) {
    statement.innerText = "146 cm";
  } else if ((genderInput.value = "male") && (ageInput.value >= 65) && (lengthInput.value = 18.5)) {
    statement.innerText = "145 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 32)) {
    statement.innerText = "184 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 32)) {
    statement.innerText = "184 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 31.5)) {
    statement.innerText = "183 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 31.5)) {
    statement.innerText = "183 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 31)) {
    statement.innerText = "181 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 31)) {
    statement.innerText = "181 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 30.5)) {
    statement.innerText = "180 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 30.5)) {
    statement.innerText = "179 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 30)) {
    statement.innerText = "179 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 30)) {
    statement.innerText = "178 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 29.5)) {
    statement.innerText = "177 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 29.5)) {
    statement.innerText = "176 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 29)) {
    statement.innerText = "176 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 29)) {
    statement.innerText = "175 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 28.5)) {
    statement.innerText = "175 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 28.5)) {
    statement.innerText = "173 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 28)) {
    statement.innerText = "173 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 28)) {
    statement.innerText = "171 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 27.5)) {
    statement.innerText = "172 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 27.5)) {
    statement.innerText = "170 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 27)) {
    statement.innerText = "170 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 27)) {
    statement.innerText = "168 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 26.5)) {
    statement.innerText = "169 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 26.5)) {
    statement.innerText = "166 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 26)) {
    statement.innerText = "168 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 26)) {
    statement.innerText = "165 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 25.5)) {
    statement.innerText = "166 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 25.5)) {
    statement.innerText = "163 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 25)) {
    statement.innerText = "165 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 25)) {
    statement.innerText = "161 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 24.5)) {
    statement.innerText = "163 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 24.5)) {
    statement.innerText = "160 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 24)) {
    statement.innerText = "162 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 24)) {
    statement.innerText = "158 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 23.5)) {
    statement.innerText = "161 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 23.5)) {
    statement.innerText = "156 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 23)) {
    statement.innerText = "159 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 23)) {
    statement.innerText = "155 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 22.5)) {
    statement.innerText = "158 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 22.5)) {
    statement.innerText = "153 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 22)) {
    statement.innerText = "156 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 22)) {
    statement.innerText = "152 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 21.5)) {
    statement.innerText = "155 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 21.5)) {
    statement.innerText = "150 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 21)) {
    statement.innerText = "154 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 21)) {
    statement.innerText = "148 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 20.5)) {
    statement.innerText = "152 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 20.5)) {
    statement.innerText = "147 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 20)) {
    statement.innerText = "151 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 20)) {
    statement.innerText = "145 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 19.5)) {
    statement.innerText = "150 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 19.5)) {
    statement.innerText = "144 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 19)) {
    statement.innerText = "148 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 19)) {
    statement.innerText = "142 cm";
  } else if ((genderInput.value = "female") && (ageInput.value < 65) && (lengthInput.value = 18.5)) {
    statement.innerText = "147 cm";
  } else if ((genderInput.value = "female") && (ageInput.value >= 65) && (lengthInput.value = 18.5)) {
    statement.innerText = "140 cm";

  }
});
<div class="calculator-container">
  <h1>Height Calculator</h1>
  <p>Gender:</p>
  <input class="gender-input-field" type="text"><br>
  <p>Age:</p>
  <input class="age-input-field" type="text"><br>
  <p>Ulna (preferably left) length in centimeters:</p>
  <input class="length-input-field" type="text"><br>
  <button class="calculate">Calculate</button>
</div>
<h3 class="statement"></h3>
<p class="statement"></p>
<!-- <script src="Height Calculator.js"></script> -->

【问题讨论】:

  • 一定有更好的计算高度的方法,这么多 if/else 从来都不是一个好的选择。
  • “代码不起作用”从来没有对您尝试编写代码时发生的情况进行足够详细的描述。你说“我不明白出了什么问题”但是有什么症状呢?给我们一个想法做过当你运行你的代码时发生。在本网站上提出任何问题时,提供您的详细信息总是一个好主意预期成绩对比实际结果.
  • 请参阅How to Ask。你的问题太宽泛了。

标签: javascript if-statement


【解决方案1】:

我认为您对 assignmentequivalence 运算符感到困惑。

在您的代码中,您使用lengthInput.value = 32 来检查输入值是否等于32。但是,单个等号是 assignment 运算符,它将右侧的值分配给左侧的值。

如果您想比较两个事物是否相等或等价,则使用 == 运算符:

lengthInput.value == 32 检查输入值是否等于32

只是对未来的提示 - 每个结果都有很多 else if 语句不是很节省时间,因为您现在必须更改每个语句的代码。也许您可以使用带参数的函数来提高效率?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-04
    • 2015-10-19
    • 2015-05-16
    • 1970-01-01
    • 2020-12-22
    • 2022-11-22
    • 2013-05-25
    • 2021-09-11
    相关资源
    最近更新 更多