JS 的 单目运算符 ++ 和 -- 详解

JS 的 单目运算符 ++ 和 -- 详解

1、介绍

++ 和 – 在 JS 中属于单目运算符,代表变量 自增 或 自减 。

i++  // 先用后加( 先用 i ,用完之后 i 再增加 1 )
++i  // 先加后用( i 先自增,然后再使用 i )
i--  // 先用后减( 先用 i ,用完之后 i 再减少 1 )
--i  // 先减后用( i 先自减,然后再使用 i )

2、例子

2.1 ++

let i = 0
let a = i++ 

console.log(a, i)
console.log(a, i++, i) 
console.log(a, ++i, i)
Info: Start process (下午3:19:03)
0 1
0 1 2
0 3 3
Info: End process (下午3:19:03)

2.2 ++

let i = 5
let a = ++i 

console.log(a, i)
console.log(a, i++, i) 
console.log(a, ++i, i)
Info: Start process (下午3:26:42)
6 6
6 6 7
6 8 8
Info: End process (下午3:26:42)

2.3 - -

let i = 5
let a = i-- 

console.log(a, i)
console.log(a, i--, i) 
console.log(a, --i, i)
Info: Start process (下午3:23:39)
5 4
5 4 3
5 2 2
Info: End process (下午3:23:39)

2.4 - -

let i = 5
let a = --i 

console.log(a, i)
console.log(a, i--, i) 
console.log(a, --i, i)
Info: Start process (下午3:25:53)
4 4
4 4 3
4 2 2
Info: End process (下午3:25:54)

2.5 混合

let i = 5
let a = ++i 

console.log("1:", a, i)
console.log("2:", a, i++, i) 
console.log("3:", a, ++i, i)

a = -i++

console.log('4:', a, i)
console.log('5:', a, i++, i)
console.log('6:', a, ++i, i)
Info: Start process (下午3:31:53)
1: 6 6
2: 6 6 7
3: 6 8 8
4: -8 9
5: -8 9 10
6: -8 11 11
Info: End process (下午3:31:53)

2.6 混合

let i = 0
let a = ++i+i+++i+++i

console.log(a)
Info: Start process (下午3:33:56)
7
Info: End process (下午3:33:57)
/* 分析如下
1、单目运算符 优先级 高于 双目运算符
2、加号 + 是双目运算符,两边的表达式必须先计算好
a = ++i+i+++i+++i
a = (++i) + (i++) + (i++) + i
a =   1   +   1   +   2   + 3
a = 7
*/

2.7 -i++

let i = 0
let a = i++

console.log(a, i)    // 0 1
console.log(a, i++)  // 0 1
console.log(a, ++i)  // 0 3

a = -i++   // 注意:a=-i, i++, -i 和 i++ 都是单目运算符

console.log(a, i++)  // -3 4
console.log(a, ++i)  // -3 6
Info: Start process (下午9:06:31)
0 1
0 1
0 3
-3 4
-3 6
Info: End process (下午9:06:31)

猜你喜欢

转载自blog.csdn.net/weixin_44983653/article/details/106472890