Javascript 你知道为什么吗;如有其他",;isn';工作不正常吗?

Javascript 你知道为什么吗;如有其他",;isn';工作不正常吗?,javascript,if-statement,Javascript,If Statement,当我运行它时,它总是下到第二个if语句并说它是真的。不管我做什么。。。想法?作为注释,您已经在应该使用==或严格等于==的地方使用了赋值(=)运算符。但是,您应该更喜欢具有多个选项的switch语句,即: if (selectedSize = 60) { document.getElementById("outputCost").innerHTML = x; } else if (selectedSize = "select") {

当我运行它时,它总是下到第二个if语句并说它是真的。不管我做什么。。。想法?

作为注释,您已经在应该使用==或严格等于==的地方使用了赋值(=)运算符。但是,您应该更喜欢具有多个选项的switch语句,即:

 if (selectedSize = 60) {
    document.getElementById("outputCost").innerHTML = x;
  } else if (selectedSize = "select") {
      document.getElementById("outputCost").innerHTML = " Please choose a size!";
  }
    
  if (selectedSize = 50) {
      document.getElementById("outputCost").innerHTML = y;
  } else if (selectedSize = "select") {
      document.getElementById("outputCost").innerHTML = " Please choose a size!";
  }

注意,这些是选择值,是字符串而不是数字,所以“50”,而不是50。

=
在比较中应该是
=
。@Arunkumarohan
===
在这种情况下可能不起作用,除非它们将
60
50
更改为
“60”
“50”
,更重要的是,你明白为什么你需要添加它们吗?我的意思是你明白
==
===
之间的区别,以及为什么你在使用
==
时需要引号吗?打字错误是
=
。您是否理解当您将其更改为
===
时,还需要添加引号?如果您将其更改为
==
,为什么不需要它们?
50
60
应该是字符串,而不是数字,因为
switch
使用严格相等。是的-我刚刚添加了一个编辑,因为我假设50和60可能是字符串。实际值可能是
的值,因此它将是字符串。阅读他在使用
==
时需要引用数字的评论。aha-将进行编辑。
switch (selectedSize) {
  case 'select':
    document.getElementById("outputCost").innerHTML = " Please choose a size!";
    break;
  case '50': 
    document.getElementById("outputCost").innerHTML = y;
    break;
  case '60': 
    document.getElementById("outputCost").innerHTML = x;
    break;
}