相关疑难解决方法(0)

为什么typeNNN会返回"数字"?

只是出于好奇.

typeof NaN数字似乎不合逻辑.顺便说一句,就像NaN === NaNNaN == NaN返回虚假一样.这是javascript的特点之一,还是有理由这样做?

编辑:谢谢你的回答.尽管让人们感到高兴并不容易.阅读答案和维基我理解得更多,但仍然是一句话

与NaN进行比较时,即使与自身进行比较,也会返回无序结果.比较谓词是信令或非信令,信令版本表示这种比较的无效例外.等式和不等式谓词是非信令的,因此x = x返回false可用于测试x是否是安静的NaN.

只是让我头晕目眩.如果有人能用人类(而不是数学家)的可读语言翻译,我会感激不尽.

javascript nan

153
推荐指数
6
解决办法
6万
查看次数

在Java脚本中,何时以及为什么将数字乘以NaN?

根据我的经验,我知道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);
Run Code Online (Sandbox Code Playgroud)

An acceleration是一个基本的PhoneGap对象,我几乎无法相信,它包含一个字符串或任何其他值(除float以外)都可能导致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';
Run Code Online (Sandbox Code Playgroud)

但是,我真的很好奇,什么时候以及为什么NaN仅仅做一些值的乘积就可以得到a ?

BTW:我读过在MDN,不啻为许多 相关 答案 这里的堆栈溢出,但给我带来任何帮助或回答我的问题。

javascript numbers nan cordova

2
推荐指数
1
解决办法
3029
查看次数

标签 统计

javascript ×2

nan ×2

cordova ×1

numbers ×1