function isNegZero(n) {
n = Number( n );
return (n === 0) && (1 / n === -Infinity);
}
我正在阅读You don't know JS
这本书,并在那里找到了这段代码。此功能用于检查通过次数是否为 -0 。我无法理解为什么提到比较中的第一个条件,因为它总是正确的(除非我理解错误)。请帮忙。
答案 0 :(得分:1)
始终为零。您不仅希望isNegZero(n)
的{{1}}为false,而且还希望其不为零的任何数字都为false。
+0
答案 1 :(得分:0)
返回值是两个比较“ &&”在一起。由于它会短路,因此如果传递0或-0以外的任何数字,它将运行第一个比较,然后返回false,而无需查看第二个。