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

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

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


通常这样使用:


i++;


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


i = i + 1;


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


let i = 3;

const j = i++;



let i = 3;

const j = ++i;


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


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


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


让我们再来看两个例子:


// 后缀增量(postfix increment)
let i = 3;
const j = i++;
console.log({ i, j }); // { i: 4, j: 3 }
// 前缀增量(prefix increment)
let i = 3;
const j = ++i;
console.log({ i, j }); // { i: 4, j: 4 }


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


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


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


最后,不要忘了❤或📑支持一下哦


目录
相关文章
|
1月前
|
JavaScript 前端开发 Java
|
9月前
|
前端开发 JavaScript
路径中“./”、“../”、“/”代表的含义
路径中“./”、“../”、“/”代表的含义
141 0
|
11月前
|
机器学习/深度学习 Python
一条命令行区分Contigs中的真核原核序列
本文介绍一款可用于宏基因组中的分类小软件,简单一条命令可以将上游组装的Contigs进行原核与真核生物区分~
89 0
|
前端开发
评论列表案例-演示艾特符号替代相对路径的好处
评论列表案例-演示艾特符号替代相对路径的好处
项目实战:Qt文件改名工具 v1.2.0(支持递归检索,搜索:模糊匹配,前缀匹配,后缀匹配;重命名:模糊替换,前缀追加,后缀追加
项目实战:Qt文件改名工具 v1.2.0(支持递归检索,搜索:模糊匹配,前缀匹配,后缀匹配;重命名:模糊替换,前缀追加,后缀追加
项目实战:Qt文件改名工具 v1.2.0(支持递归检索,搜索:模糊匹配,前缀匹配,后缀匹配;重命名:模糊替换,前缀追加,后缀追加
正则匹配指定字符之间的内容,并替换(多个匹配替换)
var str="是吗@Test1:我觉得你说的很对@Test:学无止境"; var r=str.match(/@.*?:/ig); for (var index = 0; index < r.
2362 0
|
Java
Java中++,--,前缀后缀表达值的不同,与^的值计算
package 习题1; /** * ++ -- 与 ^ 的一些计算 * @author SeeClanUkyo * */ public class Test4 { public static void main(String[] args) { int i =...
1105 0

热门文章

最新文章