认识操作符和表达式
操作符
在JavaScript中,操作符用于执行特定的数学或逻辑运算,例如加法、减法、乘法和除法等。
算术操作符
算术操作符 用于执行基本的数学运算。
- 加法 (
+
): 用于加法运算。 - 减法 (
-
): 用于减法运算。 - 乘法 (
*
): 用于乘法运算。 - 除法 (
/
): 用于除法运算,结果可以是浮点数。 - 取模 (
%
): 返回两数相除的余数。 - 递增 (
++
): 将变量的值增加1。 - 递减 (
--
): 将变量的值减少1。
实例-数字运算
javascript
let a = 3
let b = 10
console.log (a + b) // 13
console.log (a - b) // -7
console.log (a * b) // 30
console.log (a / b) // 0.3
console.log (a % b) // 3
console.log (a ++) // 3
console.log (a) //4
console.log (++ b) //11
console.log (a --) //4
console.log (a) //3
console.log (-- b) // 10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
小朋友,细心的你会发现 a++
的返回值似乎并没有想预期的一样数值+1
,a--
的返回值似乎也没有预期的-1
;可是当我们再次获取a
的值时,a
的的确确是运算了的。这是为什么呢?它们不一样吗?是bug吗?
a++
与++a
,a--
与--a
它们沦为兄弟,却有着不一样的性质。
[知识扩展] ++ a 与 a ++
hi,我们是++a,a++兄弟
在JavaScript中,我们都用于递增变量的值。可是 我们有着不相同的部分!
我是
++a
我 先将变量数值递增
+1
,然后返回递增后的数值 \
我是
a++
我 先返回变量当前数值,然后递增变量的值
+1
同时 我
++a
是老大,我的运算总是首当其冲,具有更高的优先级,我的运算比算数运算符优先。
而我
a++
,运算总是慢一拍,我的运算要比算术运算符慢
javascript
let a = 5;
console.log (a + ++a) // 11
console.log (a) // 6
console.log (++a + a) // 14
console.log (a) // 7
console.log (a + a++) // 14
console.log (a) // 8
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
诶?老大,你怎么回事?
(⊙o⊙)…在神岛编辑器中,表达式将按从左到右的顺序计算。
az,我知道了 。
++a
先自增后返回,a++
先返回后自增
那 我的运算符兄弟们 它们的“速度”(优先级)怎么样呢?
那请看下一课程吧!
赋值操作符
赋值操作符用于给变量赋值。
- 简单赋值 (
=
): 将右侧表达式的值赋给左侧的变量。 - 复合赋值(如
+=
,-=
等): 结合算术操作符和赋值操作。
示例:
javascript
// 设置age(年龄)为10
let age = 10;
// 设置grade(年级)为4
let grade = 4;
// 设置certificate(奖状)为10
let certificate = 10;
console.log("吉吉喵今年" + age + "岁啦,读" + grade + "年级了!我有" + certificate + "张奖状。");
/* ---------
呼呼呼~~~时间过得真快,已经过了一年啦!
吉吉喵的长了一岁了。
--------- */
age = age + 1; // 因为是加1,也可以写成 age ++
grade ++; // 也可以写成 grade = grade + 1
certificate += 10; // 也可以写成 certificate = certificate + 10
console.log("一年过去了!吉吉喵今年" + age + "岁啦,读" + grade + "年级了!我有" + certificate + "张奖状。");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
效果如下:
小朋友,你会觉得奇怪,为什么后面的age
和grade
和certificate
前面没用加上let
关键字呢?
因为我们在前面已经定义了age
和grade
和certificate
,告诉程序这个名字已经是变量了,后面修改不用特意再次告诉程序了哦!不然就会报错。
课后练习
小朋友,试试模仿上方的代码,编写一个简单的程序吧!
一年前:我地图有10人玩过。
一年后:我地图在原本基础上多了1万人玩过。