js进阶-关于运算符++

一、运算符与表达式

  • 运算符按参与的运算单元数量分为:一元运算符、二元运算符和三元运算符;
  • 表达式是运算单元和运算符一起构成的;
  • 每个表达式都有一个运算后的返回值。

二、关于++运算符

1.概述

++运算符分为两部分,第一部分是返回运算结果,第二部分是变量自加1。

2.如果++在变量之后

  • 先返回变量的值;
  • 然后对变量自加1;

3.如果++在变量之前

  • 先对变量自加1;
  • 然后返回变量值;

4.演示

let a = 1;
let b = a++;
let c = ++a;
console.log(a, b, c); // 输出3, 1, 3

三、实战

1.题目

let a = 1;
let b = a++ + ++a * a++;
console.log(a, b);

2.解析

let a = 1;
let b = a++ + ++a * a++;
/**
第1步:
(1)由于++运算优先级高于*
(2)所以先运算第一个a++表达式
(3)这里先返回了a的当前值1,然后将a自加为2
(4)所以此时运算状态如下:
*/
a = 2;
b = 1 + ++a * a++;
/**
第2步:
(1)由于++运算优先级高于*
(2)所以还是先计算下一个++a表达式
(3)这里先自增a为3,然后返回a的值3
(4)所以此时运算状态如下:
*/
a = 3;
b = 1 + 3 * a++;
/**
第3步:
(1)同上,先进行最后一个a++表达式运算
(2)先返回值3,然后将a自增为4
(3)所以此时运算状态如下:
*/
a = 4;
b = 1 + 3 * 3;
/**
所以答案是:
a = 4;
b = 10;
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值