gpt4 book ai didi

Javascript:+= 运算符的奇怪行为

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

我知道标题有些含糊,但我不确定如何真正解释这一点。所以,在代码中

var a= 2, b=3;
a+=b;
//5

这是非常基本的 javascript。现在我想检查结果是否大于某个数字

var a= 2, b=3, c=4;
(a+=b) >= c;
//true

但是,如果我忘记添加括号,我不明白结果可能来自哪里

var a= 2, b=3, c=4;
a += b >= c;
//2

我试着阅读了一些关于操作顺序之类的东西,但我仍然不明白该代码怎么可能输出“2”

最佳答案

因为

a += b >= c;

a += (b >= c);

这是(在你的情况下)

a += (false);

最终成为

a += 0;

这是一个

在对结果进行任何操作之前,对所有赋值运算符的右侧进行求值。所以 b >= c 被评估,给我们 false,当你试图用 将它当作一个数字时,它被强制为 0 >a +=.

关于Javascript:+= 运算符的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40694051/

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