JS关于a++和++a的理解

说明


本文基于 ES5 记录

学而不思则罔,思而不学则殆。既学也思,不总结也白费。

学而时习之,温故而知新。

学习使我快乐。

文中如有错误,还望不吝赐教,感激不尽!

JS 关于 a++ 和 ++a 的理解


  • a++
var a = 1;
var b = a++;
/*
 先拆分代码
 变量 a 、变量b 、表达式 a++ 
 表达式 a++  可以理解成 a = a+1
 标量在前,先赋值再
 先给变量b 赋值为a当前的值
 b = a; 
 变量a 在进行自增计算
 a = a+1;
*/
console.log(b,a) // 1,2
  • ++a
var a = 1;
var b = ++a;
/*
 先拆分代码
 变量 a 、变量b 、表达式 ++a 
 表达式 ++a  可以理解成 a = a+1
 加号在前,先计算再赋值。
 先给变量a 进行自增计算
 a = a+1;
 再给变量b 赋值为a计算后的值
 b = a; 
*/
console.log(b,a) // 2,2

总结


无论表达式 a++ 和 ++a 自身的结果如何,a 的值都会 +1

不同的是:

​ 表达式 a++ 返回的值是 a

​ 表达式 ++a 返回的值是 a+1

上面代码的理解不一定正确,真正影响 b 的值还是表达式返回的结果,这样理解只是加深记忆。

你可能感兴趣的:(JS关于a++和++a的理解)