这是我正在运行的代码
var degFahren = (prompt("Enter the degrees fahrenheit"));
var degCent;
degCent = 5/9 * (degFahren - 32);
document.write(degFahren + "\xB0 fahrenheit is " + degCent + "\xB0 centigrade<br/>");
if (degCent <0) {
document.write("That's below the freezing point of water!");
}
if (degCent >= 100) {
document.write("That's above the boiling point of water!");
}
字符串被转换为数字是我想要的,但为什么以及如何发生?我从未声明过parseFloat或在提示符周围包裹了一个数字
答案 0 :(得分:3)
执行-
时,javascript会尝试将变量解释为数字。这与+
形成对比,如果变量是字符串或数字(concat与add),它将执行不同的操作。
这种事情一直都是用javascript发生的。
示例:
"1" - 1 // outputs 0
"a" - 1 // NaN
"1" + 1 // "11"
1 + 1 // 2
答案 1 :(得分:1)
这是一行:
degCent = 5/9 * (degFahren - 32);
简短的回答是,当您在-
上使用degFahren
运算符时,JavaScript会自动将其转换为数字,然后将您的操作结果(另一个数字)放入degCent