在Javascript中,在增量(i++*2)之后乘法是如何工作的?

在Javascript中,在增量(i++*2)之后乘法是如何工作的?,javascript,increment,multiplication,Javascript,Increment,Multiplication,请阅读整个主题,然后再发布答案。在post:++someVariable与Javascript中的someVariable++中未找到此问题的答案 var i = 1; i = i++ * 2; // i = 2, .. why not 4 ? 解释器执行乘法1*2,但增量i++在哪里 var i = 1; i = ++1 * 2; // i = 4 我知道,I++在语句之后做增量,++I在语句之前做增量,但是在这个例子中:I=I++*2//1*2,解释器是如何工作的?在这种情况下I的增量

请阅读整个主题,然后再发布答案。在post:++someVariable与Javascript中的someVariable++中未找到此问题的答案

var i = 1;
i = i++ * 2; // i = 2, .. why not 4 ?
解释器执行乘法1*2,但增量i++在哪里

var i = 1;
i = ++1 * 2; // i = 4 

我知道,I++在语句之后做增量,++I在语句之前做增量,但是在这个例子中:I=I++*2//1*2,解释器是如何工作的?在这种情况下I的增量在哪里?也许i=1*2+1,或者i=1*2,我不存在了,没有什么可以增加的

怎样
另外,我认为这是一个错误的问题,但正如布鲁克斯·哈恩斯(Brooks Hanes)在评论中所说,这是一个学习的例子

i++的意思是:读取变量i的值,然后增加变量i


++我的意思是:增加变量i,然后读取变量i的值这是一个有趣的小问题,一个简单的实验显示了发生了什么

将2乘以I3,结果6放在p中。然后将原始值i3的副本递增并放回i中。这种行为在逻辑上符合以下要求:

var i = 3; var p = 0; function adder(x) { p = x + 2; }; adder(i++); console.log(i, p);

这有一种奇怪的意义,因为post increment应该发生在语句之后。

i++在语句之后进行增量,++i在语句之前进行增量它不仅仅是JavaScript,增量运算符在许多大多数(如果不是所有的话)语言中都可以使用,比如这个问题就是一个很好的例子,它说明了如何以一种无法立即理解的方式编写代码。我知道这可能是一个学习的例子,但是在试图保存一行计算时犯了很多很多错误;看起来很简单,但你把整个事情都交给了我。所以我最终会得到正确的更新。现在我可以看看你是否想要j=++I*2++i表示:读取变量i的值,增加变量i,然后读取变量ii的值++表示:读取变量i的值,然后增加变量i,然后读取变量的值i@vivoconunxino这些听起来和你描述的一模一样。迈克尔·戈登-谢谢!这是我正在等待的正确答案。
var i = 3; var p = 0; function adder(x) { p = x + 2; }; adder(i++); console.log(i, p);