1. 赋值运算符
可以将=
右侧的值赋值给左侧的变量。
var a = 10;
var b = a;
2. 自增运算
我们经常需要对一个变量做运算,并将新的结果存储在同一个变量中。
例如:
var n = 2;
n = n + 5;
n = n * 2;
n = n - 2;
可以使用运算符 +=
和 *=
和-=
来缩写这种表示。
var n = 2;
n += 5; // 现在 n = 7(等同于 n = n + 5)
n *= 2; // 现在 n = 14(等同于 n = n * 2)
n -= 2; // 现在 n = 12 (等同于 n = n - 2;)
alert( n ); // 12
所有算术运算符都有简短的“修改并赋值”运算符:/=
和 -=
等。
这类运算符的优先级与普通赋值运算符的优先级相同,所以它们在大多数其他运算之后执行:
let n = 2;
n *= 3 + 5;
alert( n ); // 16 (右边部分先被计算,等同于 n *= 8)
3. 自增1和自减1
自增1和自减1
:对一个数进行加一、减一是最常见的数学运算符之一。
所以,对此有一些专门的运算符:
3.1 自增1
++
将变量与 1 相加:
var counter = 2;
counter++; // 和 counter = counter + 1 效果一样,但是更简洁
alert( counter ); // 3
3.2 自减1
--
将变量与 1 相减:
var counter = 2;
counter--; // 和 counter = counter - 1 效果一样,但是更简洁
alert( counter ); // 1
自增/自减只能应用于变量。试一下,将其应用于数值(比如 5++
)则会报错。
3.3 补充
运算符 ++
和 --
可以置于变量前,也可以置于变量后。
- 当运算符置于变量后,被称为“后置形式”:
counter++
。 - 当运算符置于变量前,被称为“前置形式”:
++counter
。
两者都做同一件事:将变量 counter
与 1
相加(实现counter
的自增1)。
那么它们有区别吗?
为了直观看到区别,看下面的例子:
/**/
var counter = 1;
var a = ++counter;
// 前置形式 `++counter`,对 `counter` 做自增运算,返回的是新的值 `2`。因此 `alert` 显示的是 `2`。
alert(a); // 2
/**/
var counter = 1;
var a = counter++;
//后置形式 `counter++`,它同样对 `counter` 做加法,但是返回的是 **旧值**(做加法之前的值)。因此 `alert` 显示的是 `1`。
alert(a); // 1
总结:
如果只想对变量进行自增/自减操作,那么两者形式没有区别:
var counter = 0;
counter++;
++counter;
alert( counter ); // 2,以上两行作用相同
4. 运算符优先级
常用运算符优先级从高到低
1. () 优先级最高
2. 一元运算符 ++ -- !
3. 算数运算符 先* / % 后 + -
4. 关系运算符 > >= < <=
5. 相等运算符 == != === !==
6. 逻辑运算符 先&& 后||
7. 赋值运算符
// 练习1:
4 >= 10 || '不凡' != 'bufan' && !(12 * 2 == 100) && true
// 练习2:
var age = 20;
5 == age / 2 && (2 + 2 * age).toString() === '42'
文档更新时间: 2023-04-06 16:25 作者:孙老师