(Javascript提示应用)switchcase里面的switchcase不会运行
(Javascript prompt app ) switchcase inside switchcase will not run
我正在制作一个显示为提示和警报的应用程序(我不知道怎么称呼它)。
但是,我的代码似乎无法 运行 switchcase 内的 switchcase,我用它来将订单添加到购物车中,也用来显示购物车的内容。
我的问题的另一种说法:
我无法将商品添加到我的购物车
我无法访问我的购物车(提示自行关闭)
为了更清楚,我将在下面包含我的代码以及代码笔 link,我会在我认为存在问题的地方发表评论。
非常感谢所有输入。
谢谢!
arrayCart =[];
totalBill = parseInt(0);
cartContent = arrayCart.length;
for(;;)
{
userInput = parseInt(prompt('1. Menu\n2. Your Cart\n3. Payment\n4. Exit'))
switch(userInput)
{
// This is to go to Menu
case 1:
inputPesanan = prompt('Silahkan pilih menu yang diinginkan:\n1. Paket Bento A\n2. Paket Bento B\n3. Paket Bento C')
// I think the 1st problem starts here
switch(inputPesanan)
{
case 1:
arrayCart.push('Paket Bento A - Rp20.000\n');
totalBill += parseInt(20000);
break;
case 2:
arrayCart.push('Paket Bento B - Rp25.000\n');
totalBill += parseInt(25000);
break;
case 3:
arrayCart.push('Paket Bento C - Rp30.000\n');
totalBill += parseInt(30000);
break;
}
break;
// and the 1st problem ends here
// This is to check the Cart's content
case 2:
// And I think the 2nd problem starts here
inputKeranjang = alert('Isi Keranjang Anda\n' + arrayCart + '\n\n' + 'Total Tagihan Anda: \n' + totalBIll)
break;
// and it ends here
//----------- everything under this line seems to be working fine ---------------------------------------
// This is to input how much money you would like to pay with and calculate the change or deficit (if any)
case 3:
inputPayment = parseInt(prompt('Total Tagihan Anda :\nRp' + totalBill + '\n\nBerapa uang yang Anda akan bayarkan?'));
switch(true)
{
case inputPayment<totalBill:
alert('Uang Anda kurang sebesar Rp ' + parseInt(totalBill-inputPayment));
break;
case inputPayment>totalBill:
alert('Anda akan mendapat kembalian sebesar Rp' + parseInt(inputPayment-totalBill));
break;
case inputPayment=totalBill:
alert('Uang Anda pas');
break;
}
break;
}
// This is to end the infinite loop and close the app
if(userInput === 4)
{
break;
}
}
我不是 javascript 开发人员,但就 switch 语句而言,
这是它的工作原理:
- switch 表达式计算一次。
- 将表达式的值与每个案例的值进行比较。
- 如果匹配,则执行关联的代码块。
因此,无论您将输入作为输入传递给开关("YouInput"),它都会在所有情况下进行检查,因此如果您在第一个开关中将 Int 作为输入传递,假设 1 那么情况 1: 将执行如果你传递 100 个 case 100:如果没有 case 匹配默认值,如果你传递 String 假设 "Yosia" 那么如果有任何 case "Yosia":那将执行
所以在你的第二个开关案例中你正在检查案例 1: , case:2 但我不认为你的 "inputPesanan" 是 int 类型因为在其他任何地方你都在使用一些 parseIn 但是不存在,所以可能会打印并检查你 "inputPesanan" 它不会是你正在寻找的 1、2 或案例。
我正在制作一个显示为提示和警报的应用程序(我不知道怎么称呼它)。
但是,我的代码似乎无法 运行 switchcase 内的 switchcase,我用它来将订单添加到购物车中,也用来显示购物车的内容。
我的问题的另一种说法:
我无法将商品添加到我的购物车
我无法访问我的购物车(提示自行关闭)
为了更清楚,我将在下面包含我的代码以及代码笔 link,我会在我认为存在问题的地方发表评论。
非常感谢所有输入。
谢谢!
arrayCart =[];
totalBill = parseInt(0);
cartContent = arrayCart.length;
for(;;)
{
userInput = parseInt(prompt('1. Menu\n2. Your Cart\n3. Payment\n4. Exit'))
switch(userInput)
{
// This is to go to Menu
case 1:
inputPesanan = prompt('Silahkan pilih menu yang diinginkan:\n1. Paket Bento A\n2. Paket Bento B\n3. Paket Bento C')
// I think the 1st problem starts here
switch(inputPesanan)
{
case 1:
arrayCart.push('Paket Bento A - Rp20.000\n');
totalBill += parseInt(20000);
break;
case 2:
arrayCart.push('Paket Bento B - Rp25.000\n');
totalBill += parseInt(25000);
break;
case 3:
arrayCart.push('Paket Bento C - Rp30.000\n');
totalBill += parseInt(30000);
break;
}
break;
// and the 1st problem ends here
// This is to check the Cart's content
case 2:
// And I think the 2nd problem starts here
inputKeranjang = alert('Isi Keranjang Anda\n' + arrayCart + '\n\n' + 'Total Tagihan Anda: \n' + totalBIll)
break;
// and it ends here
//----------- everything under this line seems to be working fine ---------------------------------------
// This is to input how much money you would like to pay with and calculate the change or deficit (if any)
case 3:
inputPayment = parseInt(prompt('Total Tagihan Anda :\nRp' + totalBill + '\n\nBerapa uang yang Anda akan bayarkan?'));
switch(true)
{
case inputPayment<totalBill:
alert('Uang Anda kurang sebesar Rp ' + parseInt(totalBill-inputPayment));
break;
case inputPayment>totalBill:
alert('Anda akan mendapat kembalian sebesar Rp' + parseInt(inputPayment-totalBill));
break;
case inputPayment=totalBill:
alert('Uang Anda pas');
break;
}
break;
}
// This is to end the infinite loop and close the app
if(userInput === 4)
{
break;
}
}
我不是 javascript 开发人员,但就 switch 语句而言,
这是它的工作原理:
- switch 表达式计算一次。
- 将表达式的值与每个案例的值进行比较。
- 如果匹配,则执行关联的代码块。
因此,无论您将输入作为输入传递给开关("YouInput"),它都会在所有情况下进行检查,因此如果您在第一个开关中将 Int 作为输入传递,假设 1 那么情况 1: 将执行如果你传递 100 个 case 100:如果没有 case 匹配默认值,如果你传递 String 假设 "Yosia" 那么如果有任何 case "Yosia":那将执行
所以在你的第二个开关案例中你正在检查案例 1: , case:2 但我不认为你的 "inputPesanan" 是 int 类型因为在其他任何地方你都在使用一些 parseIn 但是不存在,所以可能会打印并检查你 "inputPesanan" 它不会是你正在寻找的 1、2 或案例。