JavaScript函数没有';不能正确处理整数
我有一个javascript函数,可以询问用户想要订购多少产品。当他们订购的产品少于一种时,该函数应该给出一条消息。它还应该发送一个警告,上面写着“订购(数量)(产品)”。这些似乎不能正常工作 我已经尝试返回数量,但这似乎只是改变了网页的数量编号。然而,这确实表明数量在起作用JavaScript函数没有';不能正确处理整数,javascript,Javascript,我有一个javascript函数,可以询问用户想要订购多少产品。当他们订购的产品少于一种时,该函数应该给出一条消息。它还应该发送一个警告,上面写着“订购(数量)(产品)”。这些似乎不能正常工作 我已经尝试返回数量,但这似乎只是改变了网页的数量编号。然而,这确实表明数量在起作用 function promptQuantity(product) { var quantity = prompt("How many " + product + "s would you like?"); if (
function promptQuantity(product) {
var quantity = prompt("How many " + product + "s would you like?");
if (quantity > 1) {
var plural = "s";
}
if (quantity = 1) {
var plural = "";
}
if (quantity < 1) {
alert("Don't be ridiculous! You can't order less than one " + product + "!");
}
if (quantity > 0) {
alert("Ordering " + quantity + " " + product, plural);
}
}
功能提示数量(产品){
var数量=提示(“您想要多少”+产品+”);
如果(数量>1){
var plural=“s”;
}
如果(数量=1){
var复数=”;
}
如果(数量<1){
提醒(“别傻了!你不能订购少于一个”+产品+”!”;
}
如果(数量>0){
警报(“订购”+数量+“”+产品,复数);
}
}
我希望此函数向用户发送一个警报,告诉他们他们已订购了产品的数量,但是它只返回“订购1(产品)”如果(数量=1)错误,则代码段
,您正在进行分配,并且数量将设置为1
,以便进行比较(数量==1)
。但是,您的代码可以按如下方式重新构造:
功能提示数量(产品)
{
var数量=提示(“您想要多少”+产品+”);
var复数=数量>1?“s”:“;
如果(数量<1)
提醒(“别傻了!你不能订购少于一个”+产品+”!”;
其他的
警报(“订购”+数量+“”+产品+复数);
}
promptQuantity(“Short”);
如果(quantity=1)
错误,则代码段,您正在执行任务,并且数量和数量将设置为1
,以便比较使用如果(quantity==1)
。但是,您的代码可以按如下方式重新构造:
功能提示数量(产品)
{
var数量=提示(“您想要多少”+产品+”);
var复数=数量>1?“s”:“;
如果(数量<1)
提醒(“别傻了!你不能订购少于一个”+产品+”!”;
其他的
警报(“订购”+数量+“”+产品+复数);
}
promptQuantity(“Short”);
首先,您应该使用“==”而不是“=”来比较“a”和“b”是否相等
此外,不需要检查“==”或“1”){
message=“订购”+数量+“”+产品+“s”;
}否则如果(数量==1){
message=“订购”+数量+“”+产品;
}否则{
message=“别傻了!您不能订购少于一个”+产品+!”
}
警报(信息);
}
提示数量(“苹果”)代码>首先-您应该使用“==”而不是“=”来比较“a”和“b”是否相等
此外,不需要检查“==”或“1”){
message=“订购”+数量+“”+产品+“s”;
}否则如果(数量==1){
message=“订购”+数量+“”+产品;
}否则{
message=“别傻了!您不能订购少于一个”+产品+!”
}
警报(信息);
}
提示数量(“苹果”)代码>如果(数量=1)
是错误的,则您正在执行和分配,对于比较,请使用if(数量==1)
或==
运算符进行严格比较。但是,您需要使用数量==1
而不是数量===1
,因为quantity
是一个字符串而不是一个数字。您可以先将该值转换为一个数字,然后检查该值。这一点非常明显!我真不敢相信我在代码中没有发现这个!感谢您的帮助,我将更正代码。如果(数量=1)
错误,您正在执行和分配,对于比较,请使用if(数量==1)
或====
运算符进行严格比较。您需要使用数量==1
而不是数量===1
,因为quantity
是一个字符串而不是一个数字。您可以先将该值转换为一个数字,然后检查该值。这一点非常明显!我真不敢相信我在代码中没有发现这个!谢谢您的帮助,我将更正代码。switch(true)
是一种反模式。如果。。。else if
语句。开关(true)
是反模式。如果。。。else if
语句。尝试输入大于1的smth。它不会在产品名称的末尾添加“s”。@VladimirNovopashin感谢您的反馈,我没有注意到原始代码中存在此错误。请尝试输入大于1的smth。它不会在产品名称的末尾添加“s”。@VladimirNovopashin感谢您的反馈,我没有注意到原始代码中的错误。