如何将var与var相乘



我想用人来乘燃料,但是它用NaN耗尽了。如何解决?

fuel["fuel1"]=525*1*12*person();

<script>
var person = new Array();
person["person1"]=1; // 1 person's trash produces 692 lbs of CO2 per year
person["person2"]=2;
person["person3"]=3;
person["person4"]=4;
var fuel= new Array(); // 100l produce 525lbs of CO2
fuel["None"]=0;
fuel["fuel1"]=525*1*12*person();
fuel["fuel2"]=525*1.5*12;
fuel["fuel3"]=525*2*12;
fuel["fuel4"]=525*2.5*12;
fuel["fuel5"]=525*3*12;
fuel["fuel6"]=525*3.5*12;
fuel["fuel7"]=525*4*12;
fuel["fuel8"]=525*4.5*12;
fuel["fuel9"]=525*5*12;
fuel["fuel10"]=525*5.5*12;
fuel["fuel11"]=525*6*12;
fuel["fuel12"]=525*6.5*12;
function getNumberperson()
{  
var numberperson=0;
var theForm = document.forms["energyform"];
var selectedPerson = theForm.elements["selectedperson"];
for(var i = 0; i < selectedPerson.length; i++)
{
if(selectedPerson[i].checked)
{
numberperson = person[selectedPerson[i].value];
}
}
return numberperson;
}
function getFueltotal()
{
var fueltotal=0;
var theForm = document.forms["energyform"];
var selectedFuel = theForm.elements["fuel"];     
fueltotal = fuel[selectedFuel.value];
return fueltotal;
}
function calculateTotal()
{
var cakePrice = getNumberperson() + getFueltotal();

//display the result
document.getElementById('totalPrice').innerHTML = +cakePrice;
}
//add a function to hide the result on page loading at the start
function hideTotal()
{
document.getElementById('totalPrice').innerHTML = "0";
} 

</script>
<!DOCTYPE html>
<html>
<body onload='hideTotal()'>
<div id="wrap">
<form action="/action_page.php" id="energyform" onsubmit="return false;">
<div>
<div class="cont_order">
<fieldset>
<legend>Carbon Footprint Calculator</legend>
<label >Size Of Household</label><br/>
<label class='radiolabel'><input type="radio"  name="selectedperson" value="person1" onclick="calculateTotal()" />1</label><br/>
<label class='radiolabel'><input type="radio"  name="selectedperson" value="person2" onclick="calculateTotal()" />2</label><br/>
<label class='radiolabel'><input type="radio"  name="selectedperson" value="person3" onclick="calculateTotal()" />3</label><br/>
<label class='radiolabel'><input type="radio"  name="selectedperson" value="person4" onclick="calculateTotal()" />4</label><br/>
<br/>
<label >Household Fuel Consumption per month in liters</label>

<select id="fuel" name='fuel' onchange="calculateTotal()">
<option value="None">Select Fuel in liters</option>
<option value="fuel1">100</option>
<option value="fuel2">150</option>
<option value="fuel3">200</option>
<option value="fuel4">250</option>
<option value="fuel5">300</option>
<option value="fuel6">350</option>
<option value="fuel7">400</option>
<option value="fuel8">450</option>
<option value="fuel9">500</option>
<option value="fuel10">550</option>
<option value="fuel11">600</option>
<option value="fuel12">650</option>
</select>
<br/>
<p>Total CO2 produced per year per household:</p>
<div id="totalPrice">0</div>
<div>US Household average is 21,820 lbs per year.
</fieldset>
</div>

<input type='submit' id='submit' value='Submit' onclick="calculateTotal()" />
<input type='reset' id='reset' value='Reset' onclick="hideTotal()" />
</div>  
</form>
</div>
</body>
</html>

fuel["fuel1"] = 525 * 1 * 12 * person();中删除导致错误并中断代码分配值给燃料的* person();。然后用*.

代替getNumberperson() + getFueltotal();中的加号。

最新更新