JavaScript函数没有';不能正确处理整数

JavaScript函数没有';不能正确处理整数,javascript,Javascript,我有一个javascript函数,可以询问用户想要订购多少产品。当他们订购的产品少于一种时,该函数应该给出一条消息。它还应该发送一个警告,上面写着“订购(数量)(产品)”。这些似乎不能正常工作 我已经尝试返回数量,但这似乎只是改变了网页的数量编号。然而,这确实表明数量在起作用 function promptQuantity(product) { var quantity = prompt("How many " + product + "s would you like?"); if (

我有一个javascript函数,可以询问用户想要订购多少产品。当他们订购的产品少于一种时,该函数应该给出一条消息。它还应该发送一个警告,上面写着“订购(数量)(产品)”。这些似乎不能正常工作

我已经尝试返回数量,但这似乎只是改变了网页的数量编号。然而,这确实表明数量在起作用

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感谢您的反馈,我没有注意到原始代码中的错误。