typeof 运算结果会返回NAN么
时间: 2023-08-15 10:54:27 浏览: 73
`typeof` 运算符不会返回 "NAN",而是返回 "number"。
"NAN" 是一个特殊的值,表示非数字(Not-A-Number)。它通常由数学运算无法产生有效结果时返回。
`typeof` 运算符用于确定一个值的数据类型。当应用于 NaN 时,它会返回 "number",因为 NaN 是 JavaScript 中的特殊数字值。例如:
```javascript
console.log(typeof NaN); // 输出 "number"
```
如果你想检查一个值是否是 NaN,可以使用 `isNaN()` 函数。它会返回一个布尔值,指示给定的值是否为 NaN。例如:
```javascript
console.log(isNaN(NaN)); // 输出 true
console.log(isNaN(10)); // 输出 false
```
相关问题
error in do_one(nmeth) : na/nan/inf in foreign function call (arg 1)
这个错误信息"error in do_one(nmeth) : na/nan/inf in foreign function call (arg 1)"表示在执行函数do_one(nmeth)的过程中出现了错误,具体是由于参数1中包含了NA(缺失值)、NaN(不是一个数字)或者Inf(无穷大)导致的。
在R语言中,这个错误通常出现在调用外部函数时参数的数据类型不符合要求,或者参数中包含了无效的数值(如NA、NaN、Inf)。这些特殊的数值可能会导致算术运算错误或者计算结果的无穷大值。
解决这个问题的方法有:
1. 检查传递给do_one(nmeth)函数的参数是否包含了NA、NaN或Inf这样的特殊数值。可以通过使用函数is.na()、is.nan()和is.finite()来检查参数,并且根据需要对这些特殊数值进行处理。
2. 检查参数的数据类型是否正确,确保参数的类型与外部函数的要求相匹配。可以使用函数typeof()来获取参数的数据类型,并与函数要求的数据类型进行比较。
3. 检查是否有其他函数或代码在调用do_one(nmeth)之前修改了参数的值,导致参数包含了NA、NaN或Inf。可以通过打印参数的值或者使用调试工具来跟踪代码执行过程,找出可能导致问题的地方。
总之,要解决这个错误,需要仔细检查传递给do_one(nmeth)函数的参数,确保参数中不包含NA、NaN或Inf,并且参数的类型符合外部函数的要求。
阅读全文