如何检查bath
值是否等于数字而不是任何其他类型的值?我尝试过使用NaN,但它还没有用。
if(bath != '') {
var bath = 'there is this many bathrooms :'
house['bathroom'] = square;
bathRoom.innerHTML = bath + Bath;
}else{
var bath = 'No Details Given';
bathRoom.innerHTML = bath;
}

答案 0 :(得分:1)
在Mozilla's JavaScript webdocs上有一篇关于如何执行此操作的精彩文章:
Number.isInteger()方法确定传递的值是否为 一个整数。
所以,你会像这样使用Number.isInteger()
:
Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(-100000); // true
Number.isInteger(0.1); // false
Number.isInteger(Math.PI); // false
Number.isInteger(NaN); // false
Number.isInteger(Infinity); // false
Number.isInteger(-Infinity); // false
Number.isInteger('10'); // false
Number.isInteger(true); // false
Number.isInteger(false); // false
Number.isInteger([1]); // false
答案 1 :(得分:0)
您还可以使用typeof
运算符检查变量的类型。
var a = 1
console.log(typeof a) // --> "number"
答案 2 :(得分:0)
isNaN
如果您要检查变量是否为数字,可以使用isNaN()
。
当值不是数字时,它将返回true
;当值是数字时,它将返回false
。要反过来,您可以否定它(使用!
运算符,将true
变为false
,将false
变为true
。)
var a = 5;
!isNaN(a); //Returns true
var b = "b";
!isNaN(b); //Returns false
您可以在MDN上详细了解isNaN
。
答案 3 :(得分:0)
像这样(使用原始代码的自定义版本):
var bath;
// here bath takes value some way...
// it may be: from direct user input, server AJAX request, JS expression...
if (typeof bath === "number") {
// bath is a number
} else{
// bath is NOT a number
}