1. 运算符集合
-
赋值运算符
= 将’='右侧的结果赋值给左侧的变量
a += b; 等价于 a = a + b;
a -= b; 等价于 a = a - b;
a *= b; 等价于 a = a * b; -
一元运算(在循环语句中会大量使用)
++ –总结:
1. 不管是 ++ 或者是 – 都是在原来变量值的基础上 加1 或者 减1
2. 假如将一元运算以后的结果赋值给一个变量,那么这个变量的值有区别。
例如: a = b++;
最后的结果是: a的值等于 b 加1 之前的值,b的值等于加1之后的值
特点:先赋值后计算
例如: a = ++b;
最后的结果: a的值等于b加1之后的值,b的值等于加1之后的值
特点: 先计算后赋值 -
比较运算符
大于 > 小于 <大于等于(大于或者等于) >=
小于等于(小于或者等于) <=
等于[注意]: == 或者 ===
不等于:!= 或者 !==
总结:
1. 通过比较运算后,得到的结果就是一个布尔类型的结果(true | false) 2.' <= || >= ' 的时候如果有一个条件成立,那么最后的结果就是true. 3. ' == ' 在比较大小的时候,只考虑值,不考虑数据类型(不完全等于) 4.' === ' 在比较大小的时候,同时要考虑数据类型和值(全等于) 5. ' != ' 只判断值是否不相等 6. '!==' 同时判断值和数据类型
-
逻辑运算符(条件判断语法中,循环语法中)
或运算(||): 或者(条件有一个满足即可)1. true || false ===》 true 2. true || true ===> ture 3. false || false ===> false
且(与)运算 (&&): 并且(条件必须都满足才可以)
1. true && true ===》 true 2. false && true ===> false 3. false && false ===> false
非运算 (!): 取相反的结果
1.!true ===> false 2.!false ===> true 总结: ☞ 如果需要将多个条件联系到一块,那么需要使用逻辑运算符。
-
多条件,条件判断语法结构
☞ 语法过程
if( 条件表达式 ) { 逻辑代码。。。 }else if( 条件表达式 ) { 逻辑代码。。。 }else if ( 条件表达式 ) { 逻辑代码... }else { 逻辑代码... } ☞ 分析该语法结构的执行过程 1. 先判断第一个表达式是否成立(true | false) 2. 如果第一个条件成立(true), 那么程序只会执行 第一个if后面的程序,后面的所有程序不再执行 3. 如果第一个条件不成立(false),那么判断第二条件表达式是否成立,如果第二个条件成立,那么执行第二个中的逻辑代码,否则继续向下判断条件 4. 如果以上上条件都不成立,那么程序最后执行else中代码。
-
代码断点调试(掌握): 为了调试程序,排除错误。
☞ 步骤:
1. 先运行程序
2. 打开浏览器控制台,找到 sources 选项
3. 点击对应的HTMl文件,找到对应的JS代码片段
4. 给代码设置断点(在对应的行位置处点击鼠标左键),推荐将断点设置给程序执行的第一行。
5. 再次运行程序(刷新页面)
6. 手动的让程序一行一行的执行(F10)
7. 随时监视变量中的值
7.1 将鼠标放到对应变量的身上
7.2 将变量添加到监视窗口
-
三元运算(三元表达式)
语法:
条件表达式 ? 如果前面的表达式返回的结果是true那么就执行该位置处的代表 : 如果(false)那么执行该位置处的代码
总结:
凡是能用if .. else... 语法结构写的代码,最后都可以用三元表达式去写 (推荐用三元表达式)
-
switch语法:
语法:
switch(变量) {
case 变量中的值第一种情况: 逻辑代码 break; case 变量中的值第二种情况: 逻辑代码 break; default: 逻辑代码 break;
}
分析语法执行过程:
☞ 先执行switch中的变量 ☞ 执行case后面的值,如果case后面的值与switch中变量的值完全相同【数据类型和值都要一样】,那么就执行对应的case后面的逻辑代码 ☞ 如果case后面的值没有与switch中变量的值有相同的,那么程序最后执行default中的代码
注意:
☞ switch中变量的数据类型必须和case后面的值数据类型保持一致☞ 每一个case结束后,必须以break结束。 ☞ default中如果有逻辑代码需要处理,那么不能省略,如果没有逻辑代码需要处理,可以省略。 ☞ switch中可以添加表达式,但是case后面只能跟 true 或者 false
总结:
☞ 如果程序中出现了多个条件的语法结构,可以考虑使用switch
☞ 如果条件表达式中用到的变量的值是固定的,可以考虑使用switch
☞ 命名法: 小驼峰命名法 和 大驼峰命名法(帕斯卡命名法) -
变量命名规则:遵循小驼峰命名法 【变量名第一个字母小写后面每一个单词的首字母大写】
var userNameAge; 函数命名规则:遵循帕斯卡命名法 【函数名第一个字母和后面每一个单词的首字母都要大写】
-
☞ 逻辑运算符短路
- 且运算短路
✔ 如果第一个值通过隐式类型转换后是true,那么直接返回最后一个值。
✔ 如果第一个值通过隐式类型转换后不是true,那么返回第一个隐式类型转换的结果
总结:
☞逻辑运算符中就会出现短路现象(不是必须要返回布尔类型的结果,有可能返回其他结果)
☞如果是且运算,那么通过短路运算后返回的是最后一个值
2. 循环
-
循环:反复的在做某件事情。
☞ while循环 : 反复执行的一件事情。【当条件满足的时候的】
☞ 语法:
while(条件表达式) {
循环体代码【逻辑代码】
}
☞ 分析循环执行过程:
-
先判断条件表达式是否成立(true还是false)
-
如果条件表达式为true,那么程序立即会进入到循环体代码中
-
如果条件表达式为false,那么程序立即结束循环体中的代码。
总结: 条件满足就一直执行循环体代码,否则不再执行。
☞ 循环时候的注意事项:
-
要明确循环体中要实现什么功能
-
要明确当满足什么条件的时候就要执行循环体中的代码
-
要注意循环结束的条件(必须写,如果不写就是死循环)
-
-
do … while… 循环
语法:
do { 循环体 }while(条件表达式)
☞ 执行过程
1. 先执行循环体代码 2. 判断条件是否成立 3. 如果条件成立那么继续执行循环体中的代码,否则不执行
与while循环的区别:
☞ 程序在执行do while的时候,先执行循环体中的代码,然后判断条件是否成立【条件不管成立与否,循环体中的代码都会执行一次】 ☞ 程序执行while循环的时候,先判断条件,只有条件满足,才会执行循环体中的代码 ☞ 假设条件都不满足,do while循环执行一次,while循环一次都不执行。
☞ 什么情况下考虑使用do while循环?
不管条件是否成立,都要先执行一遍程序,考虑使用 do 。。。while 循环
总结: 条件满足就一直执行循环体代码,否则不再执行。
-
for循环: 当程序中能够明确循环的次数时候,推荐优先考虑使用for循环。
语法:
for ( 变量初始化; 条件表达式; 变量自增(自减) ) { 循环体代码 }
执行过程:
1. 先执行变量初始化 2. 判断条件表达式是否成立(true| false) 3. 当条件表达式为true的时候,程序立即执行循环体中的代码 4. 执行完循环体代码后,然后执行变量自增(自减) 5. 继续判断条件是否成立,如果成立继续执行 6. 如果条件表达式不成立(false),那么循环体中的代码立即结束 概括:条件成立就执行,条件不成立就不执行
注意事项:
1. 语法中必须使用 分号 隔开2. 变量初始化一般只初始化一个变量[后面表达式中用到哪个变量,就初始化哪个变量]
注意:
1. 在js中不能对小数比较大小. -
break关键字 和 continue关键字
☞ break: 当程序遇到break关键字的时候,会立即结束程序,后面的代码不再执行。
总结: 1. 假如在循环中当程序执行到break语句的时候,整个循环立即结束,后面的代码不再执行
☞ continue: 继续执行
总结: 1. 假如在循环中当程序遇到contine语句的时候,会立即结束本次循环,进入到下一次循环中。