【发布时间】:2013-03-15 17:38:20
【问题描述】:
JavaScript parseInt() 的工作方式似乎与 Java parseInt() 不同。
一个非常简单的例子是:
document.write(parseInt(" 60 ") + "<br>"); //returns 60
document.write(parseInt("40 years") + "<br>"); //returns 40
document.write(parseInt("He was 40") + "<br>"); //returns NaN
第 1 行没问题。但我希望第 2 行会出错,因为您实际上无法将“年”转换为整数。我相信 JavaScript parseInt() 只是检查字符串中的前几个字符是否是整数。
那么我如何检查,只要字符串中有非整数,它就会返回 NaN?
【问题讨论】:
-
为什么 Javascript
parseInt的行为与 JavaparseInt的行为相同,只是因为它们的名称相同?它们是两种完全不同语言的函数! -
@Celada:JavaScript 行为类似于 Java 的期望是可以理解的,因为它们的名称相似。当然,这种相似性具有误导性。 JavaScript 不是从 Java 派生的。这个名字显然是出于营销原因而选择的。 Wikipedia JavaScript article 解释了这一点。
标签: javascript regex integer nan parseint