我对编程和 JavaScript 非常陌生。这是我在没有任何教程的情况下尝试做的第一件事。当我尝试此操作时,无论输入中的值是什么,它最终都只显示最后一条消息。
我尝试在网上查找,但找不到问题所在。我的理论是 parseFloat 没有像我想象的那样工作,但我不明白为什么。
function displayPrice() {
let input = document.getElementById("priceValue").value;
let price = parseFloat("input");
if (price < 0) {
document.getElementById("display").innerHTML = "You cannot sell anything for less than 0$."
} else if (price > 100) {
document.getElementById("display").innerHTML = "This is too expensive."
} else {
document.getElementById("display").innerHTML = "This is a reasonable price."
}
};
<div id="price">
Price:
<input type="number" id="priceValue">
<button onclick="displayPrice()">Click me</button>
<div id="display"></div>
</div>
不,因为您正在解析字符串
"input"
而不是存储在输入中的值...您需要使用该变量而不是字符串
let input = document.getElementById("priceValue").value;
let price = parseFloat(input);
您正在尝试传递字符串“input”而不是变量输入。放在引号内的任何内容都是字符串。要将变量作为参数传递,您应该删除引号:
let price = parseFloat(input);
我建议你更多地关注学习变量如何工作、函数和传递函数参数如何工作以及字符串如何工作。
还尝试使用 console.log 来调试代码。如果您这样做,您会更快地发现问题。