我正在做一个测试变量是否为整数的练习。 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);
关于javascript - 为什么 (x^0===x) 输出 x 而不是 true/false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49054507/