我正在尝试弄清楚如何在另一个函数(assign
)中使用函数调用(Bmi
)中的值,并尝试使用获取的值用于执行控制流程以获得所需的输出到我的html上。但是,我不知道如何利用双函数调用中的值。非常感谢帮助!提前thx!
这是我的HTML:
BMI
这是我的javascript:
HealthCat
答案 0 :(得分:4)
您不能在另一个函数的一个函数中使用局部变量的值。一旦函数执行完成,局部变量为destroyed
并且不能再使用。要使用Bmi
函数外部的BMI
变量,需要返回变量,以便调用函数可以使用它:
function BMI(){
var Weight = document.getElementById("weight").value;
var Height = document.getElementById("height").value;
var Bmi = Weight/(Height*Height);
document.getElementById("result").innerHTML =Bmi;
return Bmi; // Return the Bmi value.
}
function HealthCat(){
var Bmi = BMI(); // Use the returned Bmi value
if(Bmi<18.50){
document.getElementById("Hresult").innerHTML="Under weight";
}else if (Bmi>18.5 && Bmi <23) {
document.getElementById("Hresult").innerHTML="Normal weight";
}else if (Bmi>23 && Bmi <27.5) {
document.getElementById("Hresult").innerHTML="Over weight";
}else if (Bmi>27.5) {
document.getElementById("Hresult").innerHTML="Obese";
}
}