gpt4 book ai didi

javascript - If/Else 和 typeof 问题

转载 作者:行者123 更新时间:2023-11-28 15:35:40 25 4
gpt4 key购买 nike

问题是,我不知道为什么这段代码不起作用。我到处找遍了!
此代码的作用是从数字框中获取信息,然后在用户输入文本(错误)时显示一条消息,如果用户输入数字则显示一条成功消息。
HTML ->

<input type="number" id="number">
<button onclick="makeTrack()">Make Track</button>
<div><div>

JS -> 问题从哪里开始!

function makeTrack() {
var e = document.getElementById("number").value;
if(typeof e === "number";) {
alert("It works!");
} else if(typeof e === "string") {
alert("Please input a number!");
}
}

最佳答案

document.getElementById("number").value

value所有元素始终是一个字符串; JS 不会试图智取你并猜测它是否是一个数字(那将是灾难性的!)。首先尝试解析它,如下所示:

function makeTrack() {
var e = parseInt(document.getElementById("number").value, 10);
if(!isNaN(e)) {
alert("It works!");
} else {
alert("Please input a number!");
}
}

请注意,这将解释 "12345 this is a string" 的输入如12345 。如果这是不可取的,请尝试以下操作:

var e = document.getElementById("number").value;
if (/^[0-9]+$/.test(e)) {
// good
e = parseInt(e, 10); // make sure to still convert it to a number!
}

关于javascript - If/Else 和 typeof 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25694796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com