Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:使用+;=操作人员_Javascript_Operators - Fatal编程技术网

Javascript:使用+;=操作人员

Javascript:使用+;=操作人员,javascript,operators,Javascript,Operators,我知道标题有点模糊,但我不知道如何真正解释这一点。所以,在代码中 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 +=

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

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 += 0;
这是
a

在对结果执行任何操作之前,将对所有赋值运算符的右侧进行求值。因此,计算
b>=c
,得到
false
,当您尝试使用
a+=
将其视为一个数字时,它被强制为
0

a += (false);
a += 0;