我正在做一个关于测试变量是否为整数的练习。 x ^ 0 === x
是建议的解决方案之一,但是当我在 Chrome 的控制台、codepen.io 或此处尝试时,它返回 x
。为什么是这样?
function isInteger(x) {
console.log(x ^ 0 === x);
}
isInteger(5);
isInteger(124.124)
isInteger(0);
最佳答案
由于您错过了在 ()
周围添加 x^0
,您的条件被错误评估:
function isInteger(x) {
console.log((x ^ 0) === x);
}
isInteger(5);
isInteger(124.124)
isInteger(0);