gpt4 book ai didi

javascript - !( i%2) 与 (i%2 == 0) 之间有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:31:49 26 4
gpt4 key购买 nike

for (i=0;i<10;i++) {
if (i%2 == 0)
console.log( i + "is even number")
else
console.log(i + "is not even")

}

工作,但是

for (i=0;i<10;i++) {
if (!i%2)
console.log( i + "is even number")
else
console.log(i + "is not even")

}

不工作,为什么?i%2 什么时候变为真?

最佳答案

尝试跟随

for (i=0;i<10;i++) {
if (!(i%2))
console.log( i + "is even number")
else
console.log(i + "is not even")
}

你需要看看operator precedence

出了什么问题?

根据运算符优先级 !i%2 被评估为 (!i)%2 因此,对于 i 的每个值大于0,!i变为false并且false%2为0

关于javascript - !( i%2) 与 (i%2 == 0) 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35195251/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com