如果条件(JS)



var initialBalance = prompt("Initial balance:");
initialBalance = parseInt(initialBalance);
var choice = prompt("Deposit, Withdraw, Balance");
choice = choice.toUpperCase();
if (choice = D) {
  var deposit = prompt("Deposit amount:");
  alert(deposit + initialBalance);
}

我的代码允许用户输入信息,但似乎没有注册已输入的内容,因为它直接忽略了IF条件并转到空白页。不确定如何使我的if语句工作。

您正在使用分配操作员=您应该使用抽象等效==或严格的等价===D应该在""内部,因为它不是可变的。并使用+

将输入从用户转换为数字
if (choice === 'D') {
   var deposit = +prompt("Deposit amount:");
   alert(deposit + initialBalance);
}

简化的代码:

var initialBalance = +prompt("Initial balance:");
var choice = prompt("Deposit, Withdraw, Balance").toUpperCase();
if (choice === 'D') alert(+prompt("Deposit amount:") + initialBalance);

因为您没有名为 D的变量 - 您想对 string "D"进行检查。还使用==(比较)操作员而不是=(分配)操作员:

if (choice == "D") {...}

从字符串中将输入转换为 Number,如果条件使D成为字符串,并且还使用==进行比较

if (choice=='D')

 <!DOCTYPE html>
  <html>
  <head>
    <meta charset="UTF-8">
    <title>Assignment 6</title>
  </head>
  <body>
  <script>
var initialBalance = prompt("Initial balance:");
initialBalance = parseInt(initialBalance);
var choice = prompt("Deposit, Withdraw, Balance");
choice = choice.toUpperCase();
if (choice=='D') {
var deposit = prompt("Deposit amount:");
alert(+deposit + 
+initialBalance);
}
  </script> 
  </body>
  </html>

您使用的分配运算符=应该使用==(抽象平等)或===(严格的平等)。确保您在使用之前了解每个区域之间的区别。另外,似乎变量D位于您的代码中。

最新更新