根据我的经验,我知道,当它实际上不包含数字时,我可以NaN
在进行一些除法或尝试用字符串制作数字时得到。有没有其他情况,当我可以得到一个NaN
. 特别是 - 是否有可能从乘法中得到它?
这是一段代码,我在 PhoneGap 应用程序中使用:
var g = 9.80665;
acceleration.x = (acceleration.x * g).toFixed(2);
acceleration.y = (acceleration.y * g).toFixed(2);
acceleration.z = ((acceleration.z + 1) * g).toFixed(2);
Anacceleration
是一个基本的 PhoneGap 对象,我几乎不敢相信它包含一个字符串或任何其他值,除了浮点数,这可能会导致NaN
.
但是,在某些特定情况下(在某些特定设备上),我会遇到NaN
上述问题。
使用如下代码“保护”上述值对我来说不是问题:
acceleration.x = (parseFloat(acceleration.x) || 0) + ' m/s\u00b2';
acceleration.y = (parseFloat(acceleration.y) || 0) + ' m/s\u00b2';
acceleration.z = (parseFloat(acceleration.z) || 0) + ' m/s\u00b2';
但是,我真的很好奇,什么时候以及为什么我可以NaN
在做一些值的乘法之后得到一个?
顺便说一句:我在 MDN 上读过这篇文章,与 Stack Overflow 上的许多 相关 答案 一样好,但没有给我带来任何帮助或回答我的问题。