Javascript 变量值未修改

Javascript 变量值未修改,javascript,Javascript,为什么这个代码等于23而不是26 var foo = parseInt("23",10); foo + 3; alert(foo); 必须重新分配foo以保存新值: foo = foo + 3; foo+3是一个有效的表达式,不是一个错误,但将简单地“消失”,而不影响对foo的更改 另一种方法是使用复合赋值: foo += 3; 如果使用foo=foo+3那么您的输出将是26。想象一下这是一个多么糟糕的功能x=2;y=x+40;//x=??嗯,foo+3(不改变变量foo)与上面的x+4

为什么这个代码等于23而不是26

var foo = parseInt("23",10);

foo + 3;
alert(foo);

必须重新分配foo以保存新值:

foo = foo + 3;
foo+3
是一个有效的表达式,不是一个错误,但将简单地“消失”,而不影响对
foo
的更改

另一种方法是使用复合赋值:

foo += 3;

如果使用
foo=foo+3那么您的输出将是26。

想象一下这是一个多么糟糕的功能<编码>x=2;y=x+40;//x=??
嗯,
foo+3
(不改变变量
foo
)与上面的
x+40
(不改变变量
x
)没有任何不同。因为JavaScript甚至数学都不是这样工作的。