js自增自减

JavaScript中的自增自减

这几天在逆战班学习了自增自减,怕忘记就来写写博客加深印象。
自增和自减都是一元运算符,++ 为自增,- - 为自减,都是在原来的基础上加一或者减一;如:i++,++i 或者 i- -,- -i得到的结果就是在i原来的基础上加一或减一,就如当i=1时,执行i++或++i后i=2;执行i- -或- -i后i=0;
自增自减的运算规则:变量在前边,加号在后边,先取出变量的值,参与其他运算,再进行自加(自减),变量在后边,加号在前边,先进行自加(自减),在取出值参与其他运算。
自增自减的一些运算

<!Doctype html>
<html>
<head>
   <meta charset="utf-8"/>
</head>
<body>
   <script>
    var i = 1;//初始化 i
    console.log(i++,i);//因为++在后边,所有先取出i的值,在i加一。所以打印出的结果为 1,2
   </script>
</body>
</html>
<!Doctype html>
<html>
<head>
   <meta charset="utf-8"/>
</head>
<body>
   <script>
     var i = 1;
     console.log((i++ + i-- - ++i + --i + i++),i);// 1 + 2 - 2 + 1 +1 = 3 , i 的值为 2
  // 首先从左往右看 i++ 因为变量 i 在前面,++ 在后面;所以运算时先把 i 的值取出来,再执行 i + 1
     // 所以这个式子等于 1 + i-- - ++i + --i + i++; 此时 i = 2
     // 再继续运算 i-- 因为变量 i 在前面,-- 在后面;所以运算时先把 i 的值取出来,再执行 i - 1
     // 所以这个式子等于 1 + 2 - ++i + --i + i++; 此时 i = 1
     // 再继续运算 ++i 因为变量 i 在后面,++ 在前面;先执行 i + 1 ,再用 i 的值进行运算 
     // 所以这个式子等于 1 + 2 - 2 + --i + i++; 此时 i = 2
     // 再继续运算 --i 因为变量 i 在后面,-- 在前面;先执行 i - 1 ,再用 i 的值进行运算 
     // 所以这个式子等于 1 + 2 - 2 + 1 + i++; 此时 i = 1
     // 再继续运算 i++ 因为变量 i 在前面,++ 在后面;所以运算时先把 i 的值取出来,再执行 i + 1
     // 所以这个式子等于 1 + 2 - 2 + 1 + 1; 此时 i = 2
     // 最后式子等于 1 + 2 - 2 + 1 + 1 = 3; i 的值为 2
   </script>
</body>
</html>       
<!Doctype html>
<html>
<head>
   <meta charset="utf-8"/>
</head>
<body>
   <script>
       var i = 1;
        console.log((i++ + i++ + ++i + i-- + --i),i);// 1 + 2 + 4 + 4 + 2 = 13,i 的值为 2
        /*
          i++ + i++ + ++i + i-- + --i     此时 i = 1;
        = 1 + i++ + ++i + i-- + --i       此时 i = 2;
        = 1 + 2 + ++i + i-- + --i         此时 i = 3;
        = 1 + 2 + 4 + i-- + --i           此时 i = 4;
        = 1 + 2 + 4 + 4 + --i             此时 i = 3;
        = 1 + 2 + 4 + 4 + 2               此时 i = 2;
        =13                               此时 i = 2;
        */
   </script>
</body>
</html>
<!Doctype html>
<html>
<head>  
 <meta charset="utf-8"/>
 </head>
 <body>  
  <script> 
     var i = 1;  
     //console.log((i++ + i-- + i++),i); // 1 + 2 + 1 = 4,i 的值为 2 
     //console.log((i + i++ + i + i-- + i),i);// 1 + 1 + 2 + 2 + 1 = 7,i 的值为 1
     //console.log((i++ + i++ + i + i--),i);// 1 + 2 + 3 + 3 = 9,i 的值为 2    
    console.log((i++ + i - --i + i++ - ++i + i),i);//1 + 2 - 1 + 1 - 3 + 3 = 3,i 的值为 3 
   </script>
   </body>
   </html>
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值