JavaScript 运算符
用于赋值,比较值,执行算术运算等。
JavaScript 算术运算符
算术运算符用于执行两个变量或值的运算。
例如:
赋值 y = 5
运算符 | 描述 | 例子 | y 值 | x 值 |
+ | 加法 | x=y+2 | y=5 | x=7 |
- | 减法 | x=y-2 | y = 5 | x = 3 |
* | 乘法 | x = y * 2 | y = 5 | x = 10 |
/ | 除法 | x = y / 2 | y = 5 | x = 2.5 |
% | 余数 | x = y % 2 | y = 5 | x = 1 |
++ | 自增 | x = ++y x = y++ | y = 6 y = 6 | x = 6 x = 5 |
-- | 自减 | x = --y x = y-- | y = 4 y = 4 | x = 4 x = 5 |
浮点型数据使用注意事项
JavaScript 中的所有数据都是以 64 位浮点型数据(float) 来存储。
所有的编程语言,包括 JavaScript,对浮点型数据的精确度都很难确定:
var x = 0.1;
var y = 0.2;
var z = x + y // z 的结果为 0.30000000000000004
if (z == 0.3) // 返回 false
为解决以上问题,可以用整数的乘除法来解决:
例如:
var z = (x * 10 + y * 10) / 10; // z 的结果为 0.3
或使用aaa.toFixed(num); 表示保留小数点后面几位小数
aaa表示某个数 num表示保留几位 如果没写默认就是0
console.log( (0.1+0.2).toFixed(3) );
注意事项: 该方法的返回值是string类型
JavaScript 赋值运算符
赋值运算符用于给 JavaScript 变量赋值。
例如:
给定 x=10 和 y=5
运算符 | 例子 | 实例 | x 值 |
---|---|---|---|
= | x = y | x = y | x = 5 |
+= | x += y | x = x + y | x = 15 |
-= | x -= y | x = x - y | x = 5 |
*= | x *= y | x = x * y | x = 50 |
/= | x /= y | x = x / y | x = 2 |
%= | x %= y | x = x % y | x = 0 |
JavaScript 字符串运算符
+ 运算符, += 运算符可用于连接字符串。
例如:
给定text="Good",text2="Morning",text3=""
运算符 | 例子 | text1 | text2 | text3 |
---|---|---|---|---|
+ | text3 = text1 + text2 | "Good " | "Morning" | "Good Morning" |
+= | text1 += text2 | "Good Morning" | "Morning" | "" |
JavaScript 比较运算符
比较运算符用于逻辑语句的判断,从而确定给定的两个值或变量是否相等。
例如:
给定 x=5
运算符 | 描述 | 比较 | 结果 |
== | 等于 | x == 8 x == 5 | false true |
=== | 值及类型均相等(全等于) | x === "5" x === 5 | false true |
!= | 不等于 | x != 8 | true |
!== | 值与类型均不等(不全等于) | x !== "5" x !== 5 | true false |
> | 大于 | x > 8 | false |
< | 小于 | x < 8 | true |
>= | 大于或等于 | x >= 8 | false |
<= | 小于或等于 | x <= 8 | true |
JavaScript 条件运算符
也称三元运算符,条件运算符用于基于条件的赋值运算。
例如:
给定age = 19
语法 | 例子 | 结果 |
---|---|---|
变量 = (条件) ? 值1:值2 | x = (age < 18) ? "未成年":"成年"; | 成年 |
JavaScript 逻辑运算符
逻辑运算符用来确定变量或值之间的逻辑关系。
例如:
给定 x=6 and y=3
运算符 | 描述 | 例子 |
---|---|---|
&& | 短路与 | (x < 10 && y > 1) 为 true |
|| | 短路或 | (x == 5 || y == 5) 为 false |
! | 非 | !(x == y) 为 true |
逻辑与&和逻辑或|
它们两个和短路与&&和断路或||用法完全一致
例如:
例如 a && b
如果a和b都为真,返回值才为真. 那么当a为false 将不会执行b
例如 a & b
如果a和b都为真,返回值才为真. 当a为false 将会执行b
例如 a || b
如果a和b只要有一个为真,返回值才为真. 那么当a为true 将不会执行b
例如 a | b
如果a和b只要有一个为真,返回值才为真. 当a为true 将会执行b
流程控制
作用:如果没有流程控制,JS的代码将会从上至下依次执行
有了流程控制,可以根据需求来进行代码的执行顺序
JS中的流程控制:无非就是 if 和 switch
其中if分为 简单的if if-else if else if
如果可能性较少 就有2-4种,使用if即可 如果可能很多就推荐使用switch
switch语句也是多分支语句,相比if…else if…else语句,switch语句可以使代码更加清晰简洁、便于阅读,其语法格式如下。
switch ( 表达式 ) {
case 值1:
代码段1;
break;
case 值2
代码段2;
break;
...
default:
代码段n;
}
注意事项:
1:break的重要性:如果case中没有break,那么进入case之后,将不会跳出,而是会直接进入后续的case,并且是无条件进入,直到被break或执行完毕
2:如果存在多个case有相同的结果,怎么节省代码量。
例如:
var week = 2;
switch (week){
case 1:
case 2:
case 3:
case 4:
case 5:
alert("工作日");
break;
case 6:
case 0:
alert("节假日");
break;
default:
alert("没有这个日期");
break;
}
循环结构
JavaScript 支持不同类型的循环:
- for - 循环代码块一定的次数
- while - 当指定的条件为 true 时循环指定的代码块
- do while - 先循环一次do指定的代码块,当指定的条件为 true 时循环指定的代码块