原始变量值在计算之后发生变化

时间:2016-01-22 20:02:22

标签: javascript

我不知道为什么会这样;

var var1 = 200;
var var2 = var1 += 50;
console.log(var1);

当我查询var1时,我得到250.难道我不能得到该变量的值吗?或者我的逻辑是错误的。

https://jsfiddle.net/bazzball/pf3eLeoo/

3 个答案:

答案 0 :(得分:1)

您的代码将50添加到var1,并将结果存储在var1中。然后它分配给var2var1值。

如果您要将50添加到var1并将结果存储在var2中,则需要执行以下操作:

var var1 = 200;
var var2 = var1 + 50;
console.log(var1);

答案 1 :(得分:0)

+=是一个赋值运算符,所以你实际上说的是:

var var1 = 200;
var1 += 50; //200 + 50 and assign back to var1
var var2 = var1; //var2 is the value of var1 = 250

如果您希望var1保持在200,只需添加50即可:

var var2 = var1 + 50;

var var2 = var1 += 50;出现的内容:

var var2 = var1 = var1 + 50;

答案 2 :(得分:0)

您使用了+=运算符,这将更改var1的值。

要消除此问题,请使用单+

示例:

var1=200;
var2=var1+50;
console.log(var1);

//returns 200