这是我的脚本:
function milesRun(){
var run1 = document.getElementById("runDist1").value;
var run2 = document.getElementById("runDist2").value;
var run3 = document.getElementById("runDist3").value;
var stepInches = document.getElementById("steplength").value;
var stepsRun = run1*1 + run2*1 + run3*1;
var milesRun = (stepsRun*1) * .0000157828 * (stepInches*1);
milesRun = milesRun.toFixed(2);
document.getElementById("milesIRun").innerHTML = milesRun;
}
function caloriesBurntMale(){
calories = milesRun*1 * 124;
calories = calories.toFixed(2);
document.getElementById("calsMen").innerHTML = calories;
}
function caloriesBurntFemale(){
calories = milesRun*1 * 105;
calories = calories.toFixed(2);
document.getElementById("calsWomen").innerHTML = calories;
}
我用卡路里燃烧女性函数和卡路里燃烧男性函数返回 NaN。如何确保在这两个函数中得到数字而不是 NaN?
最佳答案
变量 milesRun
在函数 milesRun
中声明。因此函数 caloriesBurntMale
将无法访问它,因为在 js 中变量的作用域是在功能级别。
在这种情况下,您可以在函数外部声明变量,以便可以从其他函数访问它
var milesRun='';
function milesRun(){
//rest of the code
milesRun = (stepsRun*1) * .0000157828 * (stepInches*1).toFixed(2);
document.getElementById("milesIRun").innerHTML = milesRun;
}
function caloriesBurntMale(){
calories = milesRun*1 * 124;
}
关于javascript - JavaScript 中的简单函数 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44474937/