Javascript js打印为文本,而不是计算

Javascript js打印为文本,而不是计算,javascript,string,add,Javascript,String,Add,如果if语句中的数量均为输入元素中的1 我下面的代码提醒300400,它应该提醒700作为总和 函数validateCart(){ var检查=假; var比尔=”; 如果(document.getElementById(“bbc”).checked){ 检查=正确; var价格=300; var数量=document.getElementById(“bbq”).value; var总额=价格*数量; 账单+=总计; }; 如果(选中document.getElementById(“gbc”

如果if语句中的数量均为输入元素中的1 我下面的代码提醒300400,它应该提醒700作为总和


函数validateCart(){
var检查=假;
var比尔=”;
如果(document.getElementById(“bbc”).checked){
检查=正确;
var价格=300;
var数量=document.getElementById(“bbq”).value;
var总额=价格*数量;
账单+=总计;
};
如果(选中document.getElementById(“gbc”)){
检查=正确;
var价格=400;
var数量=document.getElementById(“gbq”).value;
var总额=价格*数量;
账单+=总计;
};
如果(!检查){
警报(“未选择任何项目”);
}否则{
警报(账单);
};

};您需要将账单初始化为0:

function validateCart() {
  var check = false;
  var bill = 0;
  if (document.getElementById("bbc").checked) {
    check = true;
    var price = 300;
    var quantity = document.getElementById("bbq").value;
    var total = price * quantity;
    bill += total;
  };
  if (document.getElementById("gbc").checked) {
    check = true;
    var price = 400;
    var quantity = document.getElementById("gbq").value;
    var total = price * quantity;
    bill += total;
  };
  if (!check) {
    alert("no item selected");
  } else {
    alert(bill);
  };
};

根据给定的代码,输出将是
NaN
yup,如果我尝试var bill="' ; 我得到的是300700而不是700。。。等等,让我更新这个问题如果你初始化了
var-bill=''
,那么你描述的结果就会发生,因为你正在进行字符串连接。使用
var票据=0它应该可以工作。谢谢它工作了。。。愚蠢的错误-_-