自增和自减(案例分析)

前减和后减 单独使用都代表自减 1
连起来使用
/*

* 前减 参与运算之前自减 1
* 后减 参与运算之后自减1

* 前减 在当前行自减 1
* 后减 在下一行自减1

*/
// 前减 在当前行自减 1
var i = 1;
var b = 2;
var c = --i + --b;
console.log(c);  //1
console.log(i);  //0
console.log(b);  //1

  

下面来看一则进阶案例:

var result = 3;
result = (result--) + (++result); // 3 + 3
console.log(result); // 6

  本案例可发现,在赋值运算时,虽然圆括号的优先级比等于要高(详见下图),但是圆括号在运算过程中不起作业用。

  可得:

  括号1内result为后减,所以先进行加法运算,取值为3,然后自减为2;

  括号2内result为先增,先获取括号1中result自减后的值再自增为3,然后3进行加法运算;

  因此最后结果为 3 + 3 = 6;

  此例需注意的点为括号对加法运算的作用。

posted @ 2017-11-24 20:20  CoderZRQ  阅读(723)  评论(0)    收藏  举报