JavaScript自增、自减运算符与表达式语法
表达式语法:
var i++;
var 声明变量
i 变量名
++ -- 自增运算符
JavaScript自增、自减运算符与表达式(i初始值为1) | ||||
运算符 | ++i | --i | i++ | i-- |
名称 | 前自增运算符 | 前自减运算符 | 后自增运算符 | 后自减运算符 |
表达式 | ++i | --i | i++ | i-- |
示例 | ++i; | --i; | i++; | i--; |
i的结果 | 2 | 0 | 1 | 1 |
有趣的示例 | var i=1 console.log(i) console.log(++i) console.log(i) | var i=1 console.log(i) console.log(--i) console.log(i) | var i=1 console.log(i) console.log(i++) console.log(i) | var i=1 console.log(i) console.log(i--) console.log(i) |
结果 | 1 2 2 | 1 0 0 | 1 1 2 | 1 1 0 |
示例解释
前自增运算符与后自增运算符有本质的区别:
相同点:都是为自身加1
不同点:前自增运算符是先加1,再使用操作数的值;
后自增运算符是先使用操作数的值,再加1。
例子 1:
var a;
var i=1;
//(前加加) i 加 1 后,i 等于 2,并将 i 值赋予 a,于是 a 等于 2
// 如果++在前面,则先自身加1,然后再参与运算
a=++i;
document.write(i);//结果是:2
document.write(a);//结果是:2
var b;
var j=1;
//(后加加)将 j 值赋予 b,于是 b 等于 1,最后 j 加 1,j 等于 2
// 如果++在后面,则先参与运算,自身再加1
b=j++;
document.write(j);//结果是:2
document.write(b);//结果是:1
例子 2:
++ 在前面
<script>
var num = 1
// 如果++在前面,则先自身加1,然后再参与运算
console.log(++num)// 先自身加1:1+1=2 2赋值给了num,所以num=2,结果就是:2
console.log(++num)// 先自身加1:2+1=3 3赋值给了num,所以num=3,结果就是:3
console.log(++num)// 先自身加1:3+1=4 4赋值给了num,所以num=4,结果就是:4
console.log(++num)// 先自身加1:4+1=5 5赋值给了num,所以num=5,结果就是:5
console.log(++num)// 先自身加1:5+1=6 6赋值给了num,所以num=6,结果就是:6
</script>
<script>
var num1 = 1
// 如果++在前面,则先自身加1,然后再参与运算
console.log(++num1 + 1)// 先自身加1:1+1=2 2赋值给了num,所以num=2,然后参与运算:2+1=3
console.log(++num1 + 2)// 先自身加1:2+1=3 3赋值给了num,所以num=3,然后参与运算:3+2=5
console.log(++num1 + 3)// 先自身加1:3+1=4 4赋值给了num,所以num=4,然后参与运算:4+3=7
console.log(++num1 + 4)// 先自身加1:4+1=5 5赋值给了num,所以num=5,然后参与运算:5+4=9
console.log(++num1 + 5)// 先自身加1:5+1=6 6赋值给了num,所以num=6,然后参与运算:6+5=11
</script>
<script>
var num2 = 1
// 如果++在前面,则先自身加1,然后再参与运算
console.log(++num2 + 2)// 先自身加1:1+1=2 2赋值给了num,所以num=2,然后参与运算:2+2=4
console.log(++num2 + 3)// 先自身加1:2+1=3 3赋值给了num,所以num=3,然后参与运算:3+3=6
console.log(++num2 + 4)// 先自身加1:3+1=4 4赋值给了num,所以num=4,然后参与运算:4+4=8
console.log(++num2 + 5)// 先自身加1:4+1=5 5赋值给了num,所以num=5,然后参与运算:5+5=10
console.log(++num2 + 6)// 先自身加1:5+1=6 6赋值给了num,所以num=6,然后参与运算:6+6=12
</script>
++ 在后面
<script>
var num = 1
// 如果++在后面,则先参与运算,自身再加1
console.log(num++)// 先参与运算,num++ = 1 , 自身加 1 得出 2;赋值给 num, num=2
console.log(num++)// 先参与运算,num++ = 2 , 自身加 1 得出 3;赋值给 num, num=3
console.log(num++)// 先参与运算,num++ = 3 , 自身加 1 得出 4;赋值给 num, num=4
</script>
<script>
var num1 = 1
// 如果++在后面,则先参与运算,自身再加1
console.log(num1++ + 1)// 先参与运算:1+1=2;自身加1得出:2,赋值给 num, num=2
console.log(num1++ + 2)// 先参与运算:2+2=4;自身加1得出:3,赋值给 num, num=3
console.log(num1++ + 3)// 先参与运算:3+3=6;自身加1得出:4,赋值给 num, num=4
</script>
<script>
var num2 = 1
// 如果++在后面,则先参与运算,自身再加1
console.log(num2++ + 2)// 先参与运算:1+2=3;自身加1得出:2; 赋值给 num, num=2
console.log(num2++ + 3)// 先参与运算:2+3=5;自身加1得出:3; 赋值给 num, num=3
console.log(num2++ + 4)// 先参与运算:3+4=7;自身加1得出:4; 赋值给 num, num=4
</script>
--在前面
<script>
var num = 1
// 如果--在前面,则先自身减1,然后再参与运算
console.log(--num)// 先自身减1;1-1=0 0赋值给了num,所以num=0,结果就是:0
console.log(--num)// 先自身减1;0-1=-1 -1赋值给了num,所以num=-1,结果就是:-1
console.log(--num)// 先自身减1;-1-1=-2 -2赋值给了num,所以num=-2,结果就是:-2
console.log(--num)// 先自身减1;-2-1=-3 -3赋值给了num,所以num=-3,结果就是:-3
console.log(--num)// 先自身减1;-3-1=-4 -4赋值给了num,所以num=-4,结果就是:-4
</script>
<script>
var num1 = 1
// 如果--在前面,则先自身减1,然后再参与运算
console.log(--num1 - 1)// 先自身减1;1-1=0 0赋值给了num,所以num=0, 然后参与运算: 0-1=-1
console.log(--num1 - 2)// 先自身减1;0-1=-1 -1赋值给了num,所以num=-1, 然后参与运算:-1-2=-3
console.log(--num1 - 3)// 先自身减1;-1-1=-2 -2赋值给了num,所以num=-2, 然后参与运算:-2-3=-5
console.log(--num1 - 4)// 先自身减1;-2-1=-3 -3赋值给了num,所以num=-3, 然后参与运算:-3-4=-7
console.log(--num1 - 5)// 先自身减1;-3-1=-4 -4赋值给了num,所以num=-4, 然后参与运算:-4-5=-9
</script>
<script>
var num2 = 1
// 如果--在前面,则先自身减1,然后再参与运算
console.log(--num2 - 2)// 先自身减1;1-1=0 0赋值给了num,所以num=0, 然后参与运算: 0-2=-2
console.log(--num2 - 3)// 先自身减1;0-1=-1 -1赋值给了num,所以num=-1, 然后参与运算:-1-3=-4
console.log(--num2 - 4)// 先自身减1;-1-1=-2 -2赋值给了num,所以num=-2, 然后参与运算:-2-4=-6
console.log(--num2 - 5)// 先自身减1;-2-1=-3 -3赋值给了num,所以num=-3, 然后参与运算:-3-5=-8
console.log(--num2 - 6)// 先自身减1;-3-1=-4 -4赋值给了num,所以num=-4, 然后参与运算:-4-6=-10
</script>
--在后面
<script>
var num = 1
// 如果--在后面,则先参与运算,自身再减1
console.log(num--)// 先参与运算,num-- = 1 , 自身减 1 得出 0;赋值给 num, num=0 console的结果是 1
console.log(num--)// 先参与运算,num-- = 0 , 自身减 1 得出 -1;赋值给 num, num=-1 console的结果是 0
console.log(num--)// 先参与运算,num-- = -1 , 自身减 1 得出 -2;赋值给 num, num=-2 console的结果是 -1
</script>
<script>
var num1 = 1
// 如果--在后面,则先参与运算,自身再减1
console.log(num1-- - 1)// 先参与运算:1-1=0;自身减1得出:0,赋值给 num, num=0 console的结果是:0
console.log(num1-- - 2)// 先参与运算:0-2=-2;自身减1得出:-1,赋值给 num, num=-1 console的结果是:-2
console.log(num1-- - 3)// 先参与运算:-1-3=-4;自身减1得出:-2,赋值给 num, num=-2 console的结果是:-4
console.log(num1-- - 4)// 先参与运算:-2-4=-6;自身减1得出:-3,赋值给 num, num=-3 console的结果是:-6
console.log(num1-- - 5)// 先参与运算:-3-5=-8;自身减1得出:-4,赋值给 num, num=-4 console的结果是:-8
</script>
<script>
var num2 = 1
// 如果--在后面,则先参与运算,自身再减1
console.log(num2-- - 2)// 先参与运算:1-2=-1;自身减1得出:0; 赋值给 num, num=0 console的结果是:-1
console.log(num2-- - 3)// 先参与运算:0-3=-3;自身减1得出:-1; 赋值给 num, num=-1 console的结果是:-3
console.log(num2-- - 4)// 先参与运算:-1-4=-5;自身减1得出:-2; 赋值给 num, num=-2 console的结果是:-5
console.log(num2-- - 5)// 先参与运算:-2-5=-7;自身减1得出:-3; 赋值给 num, num=-3 console的结果是:-7
console.log(num2-- - 6)// 先参与运算:-3-6=-9;自身减1得出:-4; 赋值给 num, num=-4 console的结果是:-9
</script>
如果有什么问题,请在评论区或者私聊告诉我,方便我修改!