02-JavaScript基础
1.核心知识点
- 运算符
- 分支语句 【重点】
- 断点调试 [查看程序逻辑的一个技能]
2.今日学习目标
- 能够掌握js中相关的运算符
- 能够掌握理解算数运算符使用及特点
- 能够掌握赋值运算符的使用及特点
- 能够掌握一元运算符的使用及特点
- 能够掌握比较运算符的特点,理解等于和全等于的区别
- 能够掌握-逻辑运算符用场景及逻辑运算符的计算规律
- 能够掌握条件判断分支语句
- 能够掌握switch分支语句
- 能够掌握三元表达式分支语句
算数运算符
+ 运算总结:1. 如果是数值类型的变量相加,结果就是一个数值类型的结果2. 如果是一个字符串类型的变量相加,最后的结果就是字符串(加号起到的作用就是拼接字符串的功能)-运算总结:1. 如果是数值类型的变量相减,结果就是一个数值类型的结果2. 如果是数字的字符串相减,得到的结果也是一个数值类型结果(发生了隐式类型转化)var n1 = '123';var n2 = '123';3. 如果是非数字的字符串相减,得到的结果是NaN*运算/运算1.如果是数值类型的变量相除,结果就是一个数值类型的结果2. 如果是数字的字符串相除,得到的结果也是一个数值类型结果(发生了隐式类型转化)3. 如果是非数字的字符串相除,得到的结果是NaN4. 如果除数是0 ,得到的结果是 Infinity (无穷大的值)%取余(获取余数)
课堂案例
请使用代码完成:1. 如果今天是周六,那么100天以后是周几?2. 写一个程序,要求用户先输入鸡蛋数,然后再输入每个盒子中装多少个鸡蛋,最后实现要多少个盒子。3. 让用户输入一个三位数【整数】,使用代码分别获取到这个三位数字百位,十位,个位上的数字。例如:用户输入: 456, 最后在浏览中分别弹出 4,5,64. 用户任意输入一个三位数,求这个三位数字百位,十位,个位之和。
赋值运算符
+= | -= | *= | /= | %= var a += b ; =====> 等价于 a = a+b;
一元运算符
- a++
- ++a
课堂案例
1.var a;var b=6;a=++b;请问:a的值是多少,b的值是多少。a=b++;请问:a的值是多少,b的值是多少。
2.
var a = 1; var b = ++a + ++a; console.log(b);
var a = 1; var b = a++ + ++a; console.log(b);
var a = 1; var b = a++ + a++; console.log(b);
var a = 1; var b = ++a + a++; console.log(b);
比较运算符
1. > 2. <3. >= 大于 或者 等于,只要有一个满足即可4. <= 小于 或者 等于,只要满足一个即可5. == 只用来比较变量中的值是否相等,不考虑数据类型6. === 用来判断值和数据类型必须同时相等7. != 判断值是否不相等,不考虑数据类型8. !== 判断值和数据类型☞ 总结:✔ 通过比较运算符得到的结果只有两个结果,一个是正确的,一个是错误的✔ 通过比较运算符得到的结果 只有 true[正确] 和 false[错误]
逻辑运算符
1. || 或: 条件只要有一个满足即可总结:1. 如果条件中有一个结为true(代表有一个条件满足了),那么通过或运算后最后的结果为true2. 如果条件中结果都不满足,那么通过或运算后结果为false2. && 且: 要求所有的条件都必须满足才可以总结:1. 如果条件都为真(true),那么通过且运算后最后的结果也是真(true)2. 如果条件中自少有一个条件不满足(false),那么通过且运算后的结果为false3. ! 非(取反) :
运算符优先级(了解)
优先级从高到底1. () 优先级最高 2. 一元运算符 ++ -- !3. 算数运算符 先* / % 后 + -4. 关系运算符 > >= < <=5. 相等运算符 == != === !==6. 逻辑运算符 先&& 后||7. 赋值运算符
isNaN()
☞ 判断一个变量的值 是不是数字var n1 = '123';//判断n1是不是一个数字var res = isNaN(n1);console.log(res);// isNaN 返回的是一个 true, 不是数字// isNaN 返回的是一个false , 是一个数字
条件判断(分支)
语法
//单条件表达式
☞ if ( 条件表达式【布尔类型的结果】 ) { 逻辑代码。。。}else {逻辑代码。。。} //多条件表达式
☞ if ( 条件表达式 ) {}else if ( 条件表达式 ) {}else {}
执行过程
1. 单条件条件判断代码执行过程:✔ 先进行表达式结果判断 ✔ 如果结果是true, 程序只会执行if中的语句,不会执行else中的语句✔ 如果结果是false, 程序只会执行else中的语句,不会执行if中的语句
断点调试
课堂案例
1. 接收用户输入两个数字,求两个数的最大数。2. 接收用户输入一个数字,判断一个数是偶数还是奇数3. 当点击确定,弹出消息提示“您已退出” 当点击取消 弹出消息“您已取消退出”作业:1. 判断一个年份是闰年还是平年闰年:能被4整除,但不能被100整除的年份 或者 能被400整除的年份2. 依据一个人的年龄判断是否成年(大于18岁)3. 一个加油站为了鼓励车主多加油,所以加的多有优惠。92号汽油,每升6元;如果大于20升,那么超出部分每升5.9;95号汽油,每升7元;如果大于30升,那么超出部分每升6.95编写JS程序,用户输入自己的汽油编号,然后输入自己加多少升,弹出价格。4. 收先接收用户输入的用户名,判断该用户名是否是admin,如果不是直接程序终止,如果是那么再次提示让用户输入密码,如果密码是88888,那么提示登录成功,否则提示登录失败。5.分数转换,把百分制转换成ABCDE <60 E 60-70 D 70-80 C 80-90 B 90 - 100 A
三元运算
语法
表达式 ? 结果1 : 结果2
执行过程
✔ 先判断表达式的结果是 true还是false✔ 如果结果是true ,那么代码执行 结果1✔ 如果结果是false,那么代码执行 结果2? ====> 相当与条件判断中的if: =====> 相当于else
课堂案例(使用三元运算的方式解决)
1:接收用户输入的数字,判断是奇数还是偶数
2:当点击确定,弹出消息提示“您已退出” 当点击取消 弹出消息“您已取消退出”
3:从两个数中找最大值
4:从三个数字中找最大值
switch语句
语法
switch ( 变量 ) {case 值1:代码语句..break;case 值2:代码语句...break;default: break;
}
执行过程
总结:1. 如果在程序中要表示一个范围,那么推荐使用条件判断2. 如果程序中表示的是一个具体的值, 可以用switch语句注意://1. switch 后面的变量数据类型必须和 case 后面的值数据类型保持一至//2. break语句必须加
课堂案例
☞ 根据用户输入月份,显示对应的季节(例如:3,4,5为春季)☞ 根据用户输入数字,显示对应星期数例如:用户输入数字1 ,显示 周一☞ 李四的年终工作评定,如果定为A级,则工资涨500元,如果定为B级,则工资涨200元,如果定为C级,工资不变,如果 定为D级工资降200元,如果定为E级工资降500元.
设李四的原工资为5000,请用户输入李四的评级,然后显示李四来年的工资.
循环
☞ 循环: 重复的再做一件事件✔ 当条件满足的时候,执行循环代码✔ 条件不满足的时候,不会执行循环代码
语法
while(条件表达式) {代码(循环体)
}
执行过程
1. 先条件判断结构是 true 还是 false2. 如果是true,那么程序会一直执行循环体中的代码3. 如果条件为false,那么程序会立即跳出循环体代码结束执行
语法
do {循环体代码
}while(条件表达式)
执行过程
☞ 先执行循环体代码☞ 然后判断条件☞ 如果条件为true,继续执行循环体代码☞ 如果条件为false,循环体代码立即结束,跳出循环与while循环的区别:1. 如果条件不满足,do while循环会比while循环多执行一次2. 如果条件满足,do while循环和while循环执行的次数是一样一样的。
for 循环
语法
for(变量初始化; 条件 ; 变量自增) {}
执行过程
continue语句执行及特点
☞ 立即跳出本次循环,继续下一次循环(本次循环体 continu 之后的 代码 就都少执行这一次)☞ 通俗理解: 吃5个包子,第3个掉地下了,就扔掉第3个,继续吃第4个第5个包子。
break语句执行及特点
☞ 理解跳出整个循环(循环结束),开始执行 循环后面的代码☞ 通俗理解: 吃5个包子,吃到第3个吃饱了,就不再吃后面的包子。