javascript学习第二天
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3543bd4dba88b1edae46fc52f3092ae5.png#pic_center)
1. 运算符
1.1 常用运算符
- 算数运算符
- 递增和递减运算符
- 比较运算符
- 逻辑运算符
- 赋值运算符
1.2 算数运算符
1.2.1浮点数的精度问题
- 浮点数的最高精度是17位小数,但在进行算术运算时其精确度远远不如整数
- 不要直接判断两个浮点数是否相等
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
console.log(1+2);
console.log(1-2);
console.log(1*2);
console.log(1/2);
console.log(1%2);
console.log('----------------------');
console.log(0.1+0.2);
console.log(0.07*100);
</script>
</head>
<body>
</body>
</html>
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6de9ae64f8a8d143ab06b5031d74bd34.png#pic_center)
1.2.2 表达式和返回值
- 表达式:是由数字、运算符、变量等组成的式子
- 表达式最终都会有一个结果,返回给我们,我们称之为返回值
1.3 递增和递减运算符
1.3.1 前置递增递减和后置递增递减
- 前置:先加后用
- 后置:先用后加(先返回原值,再计算)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var x1=10;
var x3=10;
console.log(x1++ + 9);
console.log(++x3 + 9);
</script>
</head>
<body>
</body>
</html>
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/80c48d8762a2a5572e66a85932b080bc.png#pic_center)
1.4 关系运算符
运算符名称 | 说明 | 案例 | 结果 |
---|
== | 判等号 | 37==37,37 ==‘37’ | true,会默认转型,字符串转换成数字型 |
=== | 全等 | 37===‘37’ | false,要求值和数据类型都一致 |
!== | 全不等 | 37!==‘37’ | true |
1.5 逻辑运算符
- 短路运算:当有多个表达式(值)时,左边的表达式可以确定结果时,就不在继续运算右边的表达式的值
1.5.1 逻辑与
- 语法:表达式1&&表达式2
- 如果第一个表达式为真,则返回表达式2
- 如果第一个表达式为假,则返回表达式1
1.5.2 逻辑或
- 语法:表达式1||表达式2
- 如果第一个表达式的值为真,则返回表达式1
- 如果第一个表达式的值为假,则返回表达式2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
console.log(123 && 456);
console.log(0 && 456);
console.log(123 && 456 && 789);
console.log(123 || 456);
console.log(0 || 456);
console.log(123 || 456 || 789);
var num=0;
console.log(123||num++);
console.log(num);
</script>
</head>
<body>
</body>
</html>
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0b7e5ed88b2efa06f9e8af4d2542e2b5.png#pic_center)
1.6 运算符优先级
2. 流程控制
2.1 switch分支
- switch括号中表达式的值要与case中的值全等(===)时才会执行
2.2 switch与ifelse语句的区别
- switch语句通常处理确定值的情况
- ifelse语句常用于判断范围
- switch语句通过条件判断直接执行到程序的条件语句,效率高,而ifelse需要判断多次
- 分支少,ifelse
- 分支多,switch