Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么赢了';我的JavaScript计算是否涉及if语句工作?_Javascript_If Statement - Fatal编程技术网

为什么赢了';我的JavaScript计算是否涉及if语句工作?

为什么赢了';我的JavaScript计算是否涉及if语句工作?,javascript,if-statement,Javascript,If Statement,其想法是生成一个从1到10的随机数,即订购产品的磅数。然后,使用这个数字,代码将计算产品成本和运输成本,将它们加在一起创建一个总数。然后,它将有关购买的信息写入HTML文档 问题不在于随机数发生器;那很好。它似乎也不是将信息写入文档的最后一步。相反,我在if-else语句中的计算似乎不起作用。JavaScript将costBox、costShipping和costTotal读取为未定义。我已经试着改变语法,并且我已经检查了代码以确保没有缺少括号或方括号。我已经查阅了我的教科书,但代码也有类似的规

其想法是生成一个从1到10的随机数,即订购产品的磅数。然后,使用这个数字,代码将计算产品成本和运输成本,将它们加在一起创建一个总数。然后,它将有关购买的信息写入HTML文档

问题不在于随机数发生器;那很好。它似乎也不是将信息写入文档的最后一步。相反,我在if-else语句中的计算似乎不起作用。JavaScript将
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)
,以使其正常工作。谢谢。