let a = prompt ("Input value of 'a'", );
let b = prompt ("Input value of 'b'", );
alert(a);
alert(b);
alert(a + b);
Number(a);
Number(b);
if ( a + b < 4){
result = 'Below';
} else {
result = 'Over';
}
alert (result);
因此,我正在做一些javascript练习,并且遇到了上述问题。
输出,例如a = 1,b = 2,而不是a + b = 3,结果是a + b = 12。
我认为javascript会自动将数字识别为数字数据类型,尤其是在使用数学运算符的情况下。
我尝试过:
let a = prompt ("Input value of 'a'", Number());
专门将输入值转换为数字数据类型,但问题仍然存在,令人困惑。
在此先感谢您的帮助!
答案 0 :(得分:1)
函数Number()
正常工作,但是您的问题是您没有将值重新分配给变量。
您需要像这样分配它:{{1}}。这应该是您的代码:
a = Number(a)
答案 1 :(得分:0)
您将a
和b
作为字符串,因此a+b
将附加到字符串。
首先,您需要将其转换为数字,然后执行+
操作。
let a = prompt ("Input value of 'a'", );
let b = prompt ("Input value of 'b'", );
a = Number(a);
b = Number(b);
alert(a);
alert(b);
alert(a + b);
if ( a + b < 4){
result = 'Below';
} else {
result = 'Over';
}
alert (result);
工作演示在这里:
let a = "1" // value from prompt
let b = "2" // value from prompt
a = Number(a);
b = Number(b);
console.log(a);
console.log(b);
console.log(a + b);
if (a + b < 4) {
result = 'Below';
} else {
result = 'Over';
}
console.log(result);
它将起作用。
注意:
与其使用多个警报,不如使用console.log()
更好地显示/测试值,这是一个好习惯。