Javascript 条件对我来说不准确

Javascript condition not accurate to me

我正在尝试打印更大的分数,它适用于 10 之前的数字,但是由于我不清楚的原因,10 以上的数字无法按预期工作,例如 firstScore 为 10,secondScore 为 5,但它会打印 5 而不是 10.

var firstScore = prompt('First exam score?');
var secondScore = prompt('Second exam score?');

if (firstScore > secondScore) {
  console.log(firstScore);
} else if (secondScore > firstScore) {
  console.log(secondScore);
} else {
  console.log('Wrong parameter');
}

正如评论所说,return 类型是字符串,但根据您的说法,您希望它是 int 以执行数学运算。简单的解决方案是将输入解析为 int

var firstScore = parseInt(prompt('First exam score?'))
var secondScore = parseInt(prompt('Second exam score?'))

if (firstScore > secondScore) {
    console.log(firstScore);
} else if (secondScore > firstScore) {
    console.log(secondScore);
} else {
    console.log('Wrong parameter');
}

问题是您正在尝试比较两个字符串,尝试使用 parseInt() 将提示中的结果解析为整数或浮点数,如下所示:

var firstScore = parseInt(prompt('First exam score?'));
var secondScore = parseInt(prompt('Second exam score?'));

if (firstScore > secondScore) {
    console.log(firstScore);
} else if (secondScore > firstScore) {
    console.log(secondScore);
} else {
    console.log('Wrong parameter');
}