我尝试了以下检查数据类型(特别是整数),但没有工作。
var i = "5";
if(Number(i) = 'NaN')
{
console.log('This is not number'));
}
原文由 Prem 发布,翻译遵循 CC BY-SA 4.0 许可协议
我尝试了以下检查数据类型(特别是整数),但没有工作。
var i = "5";
if(Number(i) = 'NaN')
{
console.log('This is not number'));
}
原文由 Prem 发布,翻译遵循 CC BY-SA 4.0 许可协议
我以这种方式使用它并且工作正常
quantity=prompt("Please enter the quantity","1");
quantity=parseInt(quantity);
if (!isNaN( quantity ))
{
totalAmount=itemPrice*quantity;
}
return totalAmount;
原文由 Mayur Gupta 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答2.6k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
我想到了两种测试值类型的方法:
方法一:
您可以使用
isNaN
javascript 方法,它确定一个值是否为 NaN 。但是因为在你的情况下你正在测试一个转换为字符串的数值,Javascript 试图猜测值的类型并将其转换为数字 5 而不是NaN
。这就是为什么如果你console.log
得出结果,你会惊讶于代码:不会返回任何东西。出于这个原因,更好的选择是方法 2。
方法二:
您可以使用 javascript typeof 方法来测试变量或值的类型
请注意,我使用的是双等号运算符,因为在这种情况下,值的类型是字符串,但 Javascript 在内部会转换为数字。
将值强制为数字类型的更稳健的方法是使用 Number.isNaN ,它是新 Ecmascript 6 (Harmony) 提案的一部分,因此没有广泛使用,也没有得到不同供应商的完全支持。