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(前缀)之间的微小差异。


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


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


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


目录
相关文章
|
8月前
|
JavaScript 前端开发 Java
正则表达式深度解析:匹配任意字符串
【4月更文挑战第1天】
4303 0
|
8月前
|
C语言
【C语言】大小写字母的相互转化:多种方法解析及原理说明
【C语言】大小写字母的相互转化:多种方法解析及原理说明
589 0
|
8月前
如何去掉字符串中文括号及其内部的内容三种方式
如何去掉字符串中文括号及其内部的内容三种方式
312 0
|
8月前
|
监控 JavaScript 前端开发
|
关系型数据库 MySQL
全局替换字符命令
全局替换字符命令
78 0
|
JavaScript 开发者
路由-关于命名视图的名称到底是变量还是字符串的说明|学习笔记
快速学习路由-关于命名视图的名称到底是变量还是字符串的说明
替换 &开头。;结尾之间的内容。用空格代替他们
替换 &开头。;结尾之间的内容。用空格代替他们
正则匹配指定字符之间的内容,并替换(多个匹配替换)
var str="是吗@Test1:我觉得你说的很对@Test:学无止境"; var r=str.match(/@.*?:/ig); for (var index = 0; index < r.
2432 0
|
Java PHP Ruby
《正则表达式经典实例(第2版)》——2.11 捕获和命名匹配子串
可能是基于.NET的流行超过了Python的原因,.NET语法似乎成为了其他正则库开发人员更乐于接受的语法。Perl 5.10及更新版本使用的是它,而在Ruby 1.9的Oniguruma引擎中也是如此。
1857 0