【发布时间】:2018-09-08 02:01:30
【问题描述】:
我只是对一件事感到好奇。 Javascript中的一个小例子
var a = 1;
a = a++;
console.log(a); // 1
var b = 1;
b = ++b;
console.log(b); // 2
var c = 1;
c += 1;
console.log(c); //2
我明白为什么在b 和c 的情况下它会这样工作,但是a 呢?
起初代码进行赋值a = a,值实际上保持不变,但随后它应该(如我所见)每单位增加和增加值a。但这并没有发生。为什么?
【问题讨论】:
-
我相信
a++表示增量a,但未分配。而++b是递增和赋值。所以在这一点上:a = a++a 增加了,但又被分配回了原来的值。 -
您通常不会使用
a = a++或a = ++a。如果您想分配a++或++a的返回值,您不会想将它们分配给您要递增的值。 -
@Eddie 不,这与后增量与前增量无关。这与
a = a++;的含义和作用有关。 -
不要仅仅基于标题。帖子上的答案也回答了这个帖子。 @Xufox
标签: javascript