了解增量
例如:
var a = 123;
var b = a++;
  现在a包含124和b包含123 
我知道b正在取a的值,然后a就会递增。 但是,我不明白为什么会这样。 JavaScript创作者为什么会这么想的主要原因。 除了混淆新手之外,其他的优势是什么?
  这就是为什么它被称为“后递增算子”。  从本质上讲,一切都是一个表达结果的价值。  a + 1是一个导致值为124的表达式。如果将其赋值给b并且b = a + 1 ,则b的值为124.如果不将结果赋值给任何值,则a + 1仍然会导致值124,它会立即被扔掉,因为你不会在任何地方“捕捉”它。 
  顺便说一句,即使b = a + 1是一个返回124的表达式。赋值表达式的结果值就是赋值。  这就是为什么c = b = a + 1如你所期望的那样工作。 
  无论如何,有关++和--的表达式的特殊之处在于,除了返回值外, ++运算符还会直接修改该变量。  那么当你做b = a++时会发生什么,表达式a++返回值123并增加a 。  后增量器首先返回值, 然后递增,而预增量器++a 首先递增,然后返回该值。  如果你只是自己写a++而没有赋值,你就不会注意到它的差别。  这就是通常使用a++方式,因为a = a + 1是a = a + 1简短的手段。 
这是非常标准的。
请注意,你也可以写
b = ++a;
这可能是你可能期待的效果。
  认识到这里有两件事是很重要的:分配和增量以及语言应该定义它们将以何种顺序发生。  因为我们既有++a又有a++ ,所以它们应该有不同的含义。 
对于我们这些来自C背景的人来说,这很自然。 如果PHP的行为不同,我们可能会想知道为什么PHP选择偏离我们习惯的。
  ++可以像你的例子那样用作增量后运算符,或者如果在变量之前使用,它可以用作预增加运算符。 
var b = ++a;
  然后首先将变量a递增,然后递增的值被赋值给b 。 
