js中的i++和++i的区别与联系
程序员文章站
2022-06-09 19:11:51
...
一:循环体中
let a = 1
for (let i = 0; i < 1; i++) {
console.log(a) // 输出1
a++
console.log(a) // 输出2
}
let a = 1
for (let i = 0; i < 1; i++) {
console.log(a) // 输出1
++a
console.log(a) // 输出2
}
//----------------------------------------
for (let i = 0; i < 3; i++) {
console.log(i)
}
// 0
// 1
// 2
for (let i = 0; i < 3; ++i) {
console.log(i)
}
// 0
// 1
// 2
在循环体中,在循环体里使用的效果是一样的,都能立即对变量进行+1,而无需到下一次循环时才生效
二:赋值操作
let a = 1
let b = ++a
console.log(a) //2
console.log(b) //2
let a = 1
let b = a++
console.log(a) //2
console.log(b) //1
++在变量前面时,会先对变量进行自增,然后再将自增后的结果赋值给等号左边的变量
当++在变量后面时,会先将变量目前的值赋值给等号左边的变量,然后再进行自增
例子:
let n1 = 3;//3-1-1=1
let n2 = n1--;//3
let n3 = --n1;//1
console.log(n1,n2,n3);//1 3 1
三:多个加号:
let a = 1
let b = 0
let c = a +++ b
console.log(c) // 输出1
console.log(a) // 输出2
console.log(b) // 输出0
//------------------------------
let a = 1
let b = 0
let c = a + ++ b
console.log(c) // 输出2
console.log(a) // 输出1
console.log(b) // 输出1
可见,空格对+有影响
【另外】 i++不能为左值,++i可以
上一篇: 如何在uniapp项目中使用mqtt
下一篇: eos 源码资源限制两个对象