一、运算符
JavaScript常用运算符
- 算术运算符
- 递增和递减运算符
- 比较运算符
- 逻辑运算符
- 赋值运算符
1、算数运算符
加、减、乘、除、取余(取模)。
- 浮点数精度:
浮点数的最高精度是17位小数,但在进行算术运算时其精度远远不如整数。
- 表达式和返回值:
表达式:1+1=2
返回值:2=1+1
var result = 0.1 + 0.2; //结果不是0.3,而是:0.300000000000...
console.log(0.7*100); //结果不是7,而是7.00000000000.。。
2、递增和递减运算符
定义:如果需要反复给数字变量加一或者减一,可以用递增(++)或递减(--)运算符来完成。
- 在JS中,++ 和 -- 可以放在变量前(前置递增或递减)或者后(后置递增或递减)。
- 递增和递减运算符必须要和变量搭配使用。
var num = 10;
console.log(++num);
3、比较运算符
>、<、>=、<=、!=,除此之外,还有
符号 | 作用 | 用法 |
---|---|---|
= | 赋值 | 把左边给右边 |
== | 判断 | 判断两边的值是否相等 |
=== | 全等 | 判断两边的值和数据类型是否完全相同 |
4、逻辑运算符
逻辑运算符 | 说明 |
---|---|
&& | “与”, and |
|| | “或”, or |
! | “非”, not |
&& 和 || 都是两边为true才为true,如有一个false结果为false。
-
短路运算(逻辑中断) 短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值。
-
逻辑与 语法:表达式1 && 表达式2
1、如果第一个表达式的值为真,则返回表达式2
2、如果第一个表达式的值为假,则返回表达式1
console.log(123&&456); // 456
console.log(0 && 123);//0
-
逻辑或 语法:表达式1 || 表达式2
1、如果第一个表达式的值为真,则返回表达式1
2、如果第一个表达式的值为假,则返回表达式2
console.log(123&&456); // 123
console.log(0 && 123);//123
5、赋值运算符
赋值运算符 | 说明 |
---|---|
= | 直接赋值 |
+=,-= | 加、减一个数后赋值 |
*=,/=,%= | 乘、除、取模后赋值 |
6、优先级
优先级 | 运算符 | 顺序 |
---|---|---|
1 | 小括号 | () |
2 | 一元运算符 | ++ -- ! |
3 | 算数运算符 | * / % 后+ - |
4 | 关系运算符 | > >= < <= |
5 | 相等运算符 | == != === !== |
6 | 逻辑运算符 | 先逻辑与后逻辑或 |
7 | 赋值运算符 | = |
8 | 逗号运算符 | , |
二、流程控制
1、顺序结构
2、分支结构
- if语句
if(){
...
}else{
...
}
if(){
...
}
else if(){
...
}
else{
...
}
- switch语句
switch(){
case value1:
执行语句1;
break;
case value2:
执行语句2;
break;
default:
执行最后的语句;
}
- 关键字switch后面括号内可以是表达式或者值,通常是一个变量
- 关键字case后面跟一个选项的表达式或值,后面再跟冒号
- switch表达式的值会跟case的值作比较得出结果
- 三元表达式 类似if语句 语法:条件表达式 ? 表达式1 : 表达式2。解释:如果条件为真,返回 表达式1 的值;如果条件为假,返回 表达式2 的值。
3、循环结构
3.1、for循环 作用:重复执行代码,通常跟计数有关。
//一个不能少
for (初始化变量; 条件表达式 ; 操作表达式){
//循环体
}
断点调试
开发者工具->source ->点击行数 ->刷新
双重for循环
外层循环一次,内层循环执行全部。
3.2、while循环
while(条件表达式){
//循环体
}
3.3、do...while 至少会执行一次循环
do{
//循环体
}while(条件表达式)
与while的区别是do while先执行一次循环体,在判断条件,如果条件为true则继续,如果为false则结束循环。
三者总结
while和do while可以做更复杂的判断条件,比for更灵活一点。
continue与break
continue:跳出当前次循环。 break:跳出所有循环。