++n 和n ++的区别

++在后,是先赋值,再自加
var num=n++ 等同于 var num=n=n+1
++在前 先自加 最后赋值
var result= ++num; 等同于var n = (num=num+1)

    var n=10; 
	var num = n++ //++在后
	var result=++n  //++在前
	console.log("num为"+num,"n的值为:"+n);
	console.log("result为"+result,"n的值为:"+n);

在这里插入图片描述

在 JavaScript 中,`++n` `n++` 都是**自增操作符**,用于将变量的值加 1,但它们的关键区别在于 **返回值的时机不同**。 --- ### ✅ 核心区别 | 表达式 | 名称 | 含义 | |--------|------------|------| | `++n` | 前缀自增(Pre-increment) | 先将 `n` 加 1,然后返回 **新的值** | | `n++` | 后缀自增(Post-increment) | 先返回 `n` 的 **原始值**,然后再将 `n` 加 1 | --- ### ✅ 示例代码对比 ```javascript let a = 5; let b = 5; let x = ++a; // 前缀:先加 1,再赋值 let y = b++; // 后缀:先赋值,后加 1 console.log(x); // 6 console.log(y); // 5 console.log(a); // 6 console.log(b); // 6 ``` #### 解释: - `++a`:`a` 先从 5 变成 6,然后返回 6 → `x = 6` - `b++`:先返回 `b` 的当前值 5 给 `y`,然后 `b` 再变成 6 → `y = 5`, `b = 6` --- ### 🔁 在循环中的表现 #### 使用 `++i`(推荐) ```javascript for (let i = 0; i < 3; ++i) { console.log(i); } // 输出: 0, 1, 2 ``` > 虽然在这里 `++i` `i++` 效果一样(因为只是执行自增),但语义上 `++i` 更清晰:我们不关心返回值,只希望它变大。 > ⚠️ 实际上,在现代 JS 引擎中性能没有差别,但 `++i` 是传统习惯,略显“高效”感。 --- ### 🧠 复杂表达式中的差异 ```javascript let m = 10; let n = 20; let result1 = ++m + 5; // m 先变成 11,然后 11 + 5 = 16 let result2 = n++ + 5; // 先用 n=20 计算 20+5=25,然后 n 变成 21 console.log(result1); // 16 console.log(result2); // 25 console.log(m); // 11 console.log(n); // 21 ``` --- ### 💡 小结:一句话记住区别 > - `++n`:**先加后用** —— 返回的是加之后的值 > - `n++`:**先用后加** —— 返回的是加之前的值 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值