如何知道用户在 JavaScript 中输入的是什么类型的变量?
How to know what type of variable user enter in JavaScript?
我尝试制作一个函数来接收来自用户的数据,并在字符串的情况下通过连接或在输入的数据是整数的情况下通过获取总和来组合这些数据。
我的主要问题是我不知道 if 语句中的什么条件 JavaScript 根据用户输入的数据执行操作。
这是我最后发明的解决此类问题的代码
function GetFullName() {
var first = document.getElementById('FirstName').value;
var last = document.getElementById('LastName').value;
if (first == "string" || last == "string") {
document.getElementById('FullName').value = first + " " + last;
} else {
var first = parseInt(document.getElementById('FirstName').value);
var last = parseInt(document.getElementById('LastName').value);
document.getElementById('FullName').value = first + last;
}
document.getElementById('FirstName').focus();
}
<form>
First Name <input type="text" id="FirstName" />
Last Name <input type="text" id="LastName" />
<input type="button" value="submit" onclick="GetFullName()" />
<input type="reset" value="reset" />
<br />
Full Name <input type="text" id="FullName" />
</form>
当您获取元素的值时,它始终是一个字符串,
您可以通过 typeof first
检查变量类型
对于你的具体问题,如果你想检查用户是否输入了整数,那么你将不得不使用 isNaN
if(isNaN("123")) {
} else {
//this executes
}
总而言之,新代码将是:
if (isNaN(first) || isNaN(last)) {
document.getElementById('FullName').value = first + " " + last;
} else {
document.getElementById('FullName').value = parseInt(first) + parseInt(last);
}
我尝试制作一个函数来接收来自用户的数据,并在字符串的情况下通过连接或在输入的数据是整数的情况下通过获取总和来组合这些数据。 我的主要问题是我不知道 if 语句中的什么条件 JavaScript 根据用户输入的数据执行操作。
这是我最后发明的解决此类问题的代码
function GetFullName() {
var first = document.getElementById('FirstName').value;
var last = document.getElementById('LastName').value;
if (first == "string" || last == "string") {
document.getElementById('FullName').value = first + " " + last;
} else {
var first = parseInt(document.getElementById('FirstName').value);
var last = parseInt(document.getElementById('LastName').value);
document.getElementById('FullName').value = first + last;
}
document.getElementById('FirstName').focus();
}
<form>
First Name <input type="text" id="FirstName" />
Last Name <input type="text" id="LastName" />
<input type="button" value="submit" onclick="GetFullName()" />
<input type="reset" value="reset" />
<br />
Full Name <input type="text" id="FullName" />
</form>
当您获取元素的值时,它始终是一个字符串,
您可以通过 typeof first
对于你的具体问题,如果你想检查用户是否输入了整数,那么你将不得不使用 isNaN
if(isNaN("123")) {
} else {
//this executes
}
总而言之,新代码将是:
if (isNaN(first) || isNaN(last)) {
document.getElementById('FullName').value = first + " " + last;
} else {
document.getElementById('FullName').value = parseInt(first) + parseInt(last);
}