校验码模 1

checking number modulo 1

我看到了以下内容: if (n % 1 || n < 2) ... 在一些 code.

问题是测试n % 1有什么好处?我假设它对于所有非零整数都是 (false)0,在这种情况下,将它与任何东西分离是没有意义的,因为它等同于它的分离((false || p) == p,对吧?)。它是否检查数字是否为 int?它是 !isNaN(n) 的快捷方式吗?

在 javascript 中所有数字都是 float 所以 n%1 returns n/1 的余数所以 returns [的小数部分=14=] 类似 n-floor(n) 的正数 n。所以:

if (n % 1 || n < 2)

应该select 所有小数和所有小于 2 的整数(它们不是整数 IsPrime 方法的有效输入)。