JavaScript中的赋值运算符

时间:2017-08-22 21:54:10

标签: javascript operators

我在JavaScript上有这个简单的代码。

var a = 10;
var b = 20;

a=a+b-(b=a);

document.write("a = " + a + "</br> b = " + b);

有人可以解释一下,这些变量是如何改变这些值的?在这种情况下,赋值运算符是如何工作的?我认为,在第一步,变量b由a:(b = a)中的数字重写。

3 个答案:

答案 0 :(得分:2)

它通常以从左到右的方式从外到内进行评估 赋值表达式返回指定的值。

a = a + b - (b = a);    // a=10 b=20
a = 10 + b -( b = a);   // a=10 b=20
a = 10 + 20 - (b = a);  // a=10 b=20
a = 30 - (b = a);       // a=10 b=20
a = 30 - (b = 10);      // a=10 b=20
a = 30 - (10);          // a=10 b=10
a = 30 - 10;            // a=10 b=10
a = 20;                 // a=10 b=10
20;                     // a=20 b=10

答案 1 :(得分:1)

以下简单说明。

1。我们正在分配初始值:

var a = 10;
var b = 20;

2。我们在这里说a is equal to 10+20 - (10)。因此,a现在等于20b等于10,因为我们已分配<{1}} 之前 a的新价值。

a

3。结果:

&#13;
&#13;
a=a+b-(b=a);
&#13;
&#13;
&#13;

答案 2 :(得分:0)

Well, let's look closely at this: a = a + b - (b = a);

Let's replace variables with values a = (10 + 20) - (10)

This is because B == 20 until redefined at the end of the expression.