i++ 和 ++i 之间的区别详细解释(后缀与前缀)

2021-08-23 17:59:03 浏览数 (1)

JavaScript(和许多其他语言)支持后缀和前缀增量运算符( )。您可能以前曾经看过并使用过它。我看到不少博客对于 i 和 i 的解释都模糊不清,新手看了肯定一脸懵逼,甚至有些人的解释是完全错的,今天我来给大家详细地解释一下。

通常这样使用:

代码语言:javascript复制
i  ;

在这种情况下,它几乎等同于:

代码语言:javascript复制
i = i   1;

但是,您怎么看?两者之间有区别吗

代码语言:javascript复制
let i = 3;
const j = i  ;

代码语言:javascript复制
let i = 3;
const j =   i;

嗯,是。第一个示例使用后缀增量运算符(i )。第二个示例使用前缀增量运算符( i)。起初,似乎没有什么区别。但是,重要的是要了解这里发生的事情:

后缀增量运算符使该值递增,并在递增之前返回该值。

前缀增量运算符使值递增,并在递增之后返回值。

让我们再来看两个例子:

代码语言:javascript复制
// 后缀增量(postfix increment)

let i = 3;
const j = i  ;

console.log({ i, j }); // { i: 4, j: 3 }
代码语言:javascript复制
// 前缀增量(prefix increment)

let i = 3;
const j =   i;

console.log({ i, j }); // { i: 4, j: 4 }

发现不同了吗?是j的值不同。因此,重要的是要知道postfix(后缀)和prefix(前缀)之间的微小差异。

顺便说一下,这同样也适用于后缀减量和前缀减量运算符(--)。唯一的区别是,--没有增加值,而是减少了值。

这就是所有我要说的。我希望我能把区别说清楚了。再见!

最后,不要忘了❤或

0 人点赞