在Javascript中,如何在递增(i++*2)之后进行乘法运算
How works multiplication just after incrementation (i++ * 2) in Javascript?
在发布答案之前,请阅读整个主题。在帖子中找不到这个问题的答案:++someVariable Vs 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=(2*2),我不存在了,没有什么可增加的??
如何
附言:我认为,这是一个错误的问题,但正如Brooks Hanes(在评论中)所说,这是个学习的例子。
i++表示:读取变量i的值,然后增加变量i的
++i的意思是:增加变量i,然后读取变量i的值
这是一个有趣的小问题,一个简单的实验显示了正在发生的事情。jsFiddle
var i = 3; p = i++ *2; console.log(i, p);
2乘以i(3),结果(6)放在p中。然后i(3的原始值的副本增加并放回i中。这种行为在逻辑上与以下一致:
var i = 3; var p = 0; function adder(x) { p = x + 2; }; adder(i++); console.log(i, p);
这有点奇怪,因为后增量应该发生在语句之后。
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 在chrome.tabs.onCreated之后加载HTML页面
- 在Jquery detachment()和appendTo()之后定位元素
- AngularJS:ng之后,重复$scope值未按预期更新
- 为什么元素的宽度在页面加载之后和那一刻之后不同
- 没有在Angular应用程序中定义firebase(在firebase迁移之后)
- Javascript复选框函数:;缺少:在属性id之后"
- 在刚刚调用的append函数之后,jquery.height()不会返回实际值
- 正在链接添加了以下内容::在之后
- JQuery hide()在show()之后不起作用,反之亦然
- 未执行Ajax循环的Javascript之后的代码
- 哪个布尔运算更快<或者<=
- 如何在`window.open`之后执行回调
- 使用JavaScript进行乘法运算
- 如何在一个元素动画之后延迟
- 在XMLHttpRequest之后重新初始化jQuery
- <text区域>在我的html中包含event.keycode==13之后,wrap就不起作用了
- 在jAlert之后设置焦点
- 在Javascript中的ajax响应之后未调用Dropdown事件
- 在Javascript中,如何在递增(i++*2)之后进行乘法运算