为什么赢了';我的JavaScript计算是否涉及if语句工作?
其想法是生成一个从1到10的随机数,即订购产品的磅数。然后,使用这个数字,代码将计算产品成本和运输成本,将它们加在一起创建一个总数。然后,它将有关购买的信息写入HTML文档 问题不在于随机数发生器;那很好。它似乎也不是将信息写入文档的最后一步。相反,我在if-else语句中的计算似乎不起作用。JavaScript将为什么赢了';我的JavaScript计算是否涉及if语句工作?,javascript,if-statement,Javascript,If Statement,其想法是生成一个从1到10的随机数,即订购产品的磅数。然后,使用这个数字,代码将计算产品成本和运输成本,将它们加在一起创建一个总数。然后,它将有关购买的信息写入HTML文档 问题不在于随机数发生器;那很好。它似乎也不是将信息写入文档的最后一步。相反,我在if-else语句中的计算似乎不起作用。JavaScript将costBox、costShipping和costTotal读取为未定义。我已经试着改变语法,并且我已经检查了代码以确保没有缺少括号或方括号。我已经查阅了我的教科书,但代码也有类似的规
costBox
、costShipping
和costTotal
读取为未定义。我已经试着改变语法,并且我已经检查了代码以确保没有缺少括号或方括号。我已经查阅了我的教科书,但代码也有类似的规定。你能帮我弄清楚怎么了吗
这是我的密码:
var num = Math.ceil(Math.random() * 10);
var costBox;
var costShipping;
var costTotal;
if (num >= 1 && num <= 5) {
costBox == 20;
}
else if (num >= 6 && num <= 9) {
costBox == 15;
}
else if (num == 10) {
costBox == 10;
}
if (num >= 1 && num <= 3) {
costShipping == 5;
}
else if (num >= 4 && num <= 7) {
costShipping == 10;
}
else if (num == 8 || num == 9) {
costShipping == 15;
}
else if (num == 10) {
costShipping == 20;
}
costBox == costBox * num;
costTotal == costBox + costShipping;
window.onload = function() {
document.getElementById("pageNum").innerHTML = num;
document.getElementById("pageBox").innerHTML = costBox.toFixed(2);
document.getElementById("pageShipping").innerHTML = costShipping.toFixed(2);
document.getElementById("pageTotal").innerHTML = costTotal.toFixed(2);
}
var num=Math.ceil(Math.random()*10);
var-costBox;
var成本运输;
var成本总额;
如果(num>=1&&num=6&&num=1&&num=4&&num以下是比较,而不是赋值:
costBox == 20;
将=
更改为=
(此处和所有其他类似位置)
还请注意,Math.random()
允许精确返回0
,而您的代码没有处理该问题。以下是比较,而不是赋值:
costBox == 20;
将=
更改为=
(此处和所有其他类似位置)
还要注意Math.random()
被允许精确返回0
,而您的代码无法处理该问题。我尝试过,但现在,似乎代码的有效性更低了。变量num
,随机数生成器中的数字,以及costBox
和costShipping
和costT>的读数似乎未定义otal
@Michael:你确定你没有把=
改成=
?(你需要做相反的事情。)是的。我把很多=
改成了=
。我试着在作业中使用=
(例如costBox=20;
)或者=
(例如costBox==costBox*num
)。我将编辑原始帖子,并在您的建议后添加新代码。@Michael:您仍在使用=
进行作业(例如在costBox==costBox*num
)。您需要修复所有这些。您是对的。我对=
和=
感到非常困惑。我不得不将其中许多更改为=
,但需要保留一些,例如else if(num==8 | num==9)
,作为==
,以使其工作。谢谢。我试过了,但现在,代码似乎更少工作。变量num
,来自随机数生成器的数字,似乎读取未定义,以及costBox
和costShipping
和costTotal
@Michael:你是谁你没有把=
改成=
?(你需要做相反的事情。)是的。我把很多=
改成了=
。我试着在作业中使用=
(例如costBox=20;
)或者=
(例如costBox==costBox*num
)。我将编辑原始帖子,并在您的建议后添加新代码。@Michael:您仍在使用=
进行作业(例如在costBox==costBox*num
)。您需要修复所有这些。您是对的。我对=
和=
感到非常困惑。我必须将其中许多更改为=
,但需要保留一些,例如,如果(num==8 | num==9)
,以使其正常工作。谢谢。