js(分支结构)

■ 教学目标

能够说出5种输出语句

能够说出至少3种JS运算符

能够独立写出if判断的三种语法

能够独立写出switch语法

能够独立写出三元运算符

能够独立说出判断、switch、三元运算符的区别

一、输出语句 (5种) !!!

语法

  • alert : 警告框

    // 作用:alert会弹出一个警告框
    // 语法:alert(内容)  //思考:什么时候不加引号(纯数字、变量)
    alert("hello world");
    
  • confirm : 确认框

    // 作用:confirm弹出一个确定框
    // 语法:var data = confirm(内容)
    // 返回:返回用户操作结果确定-true、取消-false
    var data = confirm("我帅吗?");
    
  • prompt : 输入框

    // 作用:prompt:弹出一个输入框,可以输入值
    // 语法:var data = prompt(内容)
    // 返回:返回用户输入的内容,通过变量接受
    var data = prompt("请输入你的真实年龄");
    
  • document.write : 网页中写入内容

    // 作用:网页中写入内容(可以识别标签)
    // 语法:document.write(内容)
    document.write("hello world");
    document.write("

    hello world

    "
    );
  • 控制台输出

    // 作用:F12打开控制台,在console中可以看到打印的信息
    // 语法:confirm(内容)
    console.log("hello word");
    

练习


小总结

alert、confirm、prompt仅学习使用、较为有意思 太丑实战不用

console.log 学习/工作 100% 调试BUG

document.write 了解

二、运算符

  • 就是在代码里面进行运算的时候使用的符号,不光只是数学运算,我们在 js 里面还有很多的运算方式

数学运算符(+、-、*、/、%)

语法:var 变量 = 数据 ±*/% 数据 结果赋值给变量

语法:console.log(数据 ±*/% 数据) 结果直接打印出来

留心:如果加号左右有字符串则连接

代码


思考1:var temp = 10 + 10 * 2 先乘除 后加减

回答1:30

思考2:var temp = 1 + “1”

回答2:11

赋值运算符(=、+=、-=、*=、/=)

语法

明确:在js中一个等号是赋值
举例:var 变量名 = 值    // 将 = 右边的数据  放到  左边的  变量中/仓库中留心:下述语法 只能修改
接着:+=、-=、*=、/=
就是:仓库里面的数据  自己数据+新数据、自己数据-新数据、自己数据*新数据.....
代码:变量名 += 值
演变:变量名 = 变量名 + 值
代码:变量名 *= 值
演变:变量名 = 变量名 * 值

代码


比较运算符(>、<、>=、<=、、!=、=、!==)

语法

明确:比较肯定有两个值,然后布尔值  成立-true,不成立-false>   大于
<   小于
>=  大于等于(只有有一个成立 就返回true
<=  小于等于(只要有一个成立 就返回true=    赋值		
==   判断值是否相当			
===  全等(既判断值又判断类型     既要值相等、又要类型相等 成立 true  否则返回false!=   不等						只要值不相等就成立 true 
!==  不全等(有判断值有判断类型  只要有一个成立 就成立 true

练习

需求

var status =  3 > 2;  //  
var status =  3 < 2;  // 
var status =  3 >= 2; // 
var status =  3 <= 2; // var status =  3 == 2;    //  
var status =  3 == 3;    //  
var status =  3 == "3";  //  
var status =  3 === "3"; //  var status =  3 != 3;    //  
var status =  3 != "3";  //  var status =  3 !== "3"; //  

练习

var status =  3 > 2;    //  成立 true
var status =  3 < 2;    // 不成立 false
var status =  3 >= 2;   //   成立 true
var status =  3 <= 2;   // 不成立 false var status =  3 == 2;    //  不成立 false
var status =  3 == 3;    //   成立 true  
var status =  3 == "3";  //   成立 true    
var status =  3 === "3"; //  不成立 false  var status =  3 != 3;    // 不成立 false
var status =  3 != "3";  // 不成立 false  var status =  3 !== "3"; // 值 成立  类型 不成立  true 

逻辑运算符(&& 、||、!)

语法

&&  并且(shift + 7			条件1 && 条件2 ...  都成立true 否则false
||  或者(shift + enter上面     条件1 || 条件2 ...  只要一个成立true 否则false
!   取反 

代码

需求


练习


自增自减运算符(一元运算符)

语法

语法:++/--变量名++/--
留心:++/--在前 先运算,在操作、++/--在后 先操作,再运算

代码

需求


代码


小总结

算术:+、-、*、/、%
赋值:=、  +=、-=、*=等  切记切记 先定义、再使用这个语法修改
比较:>、<、>=、<=、   = == ===  !=  !==  (略难
逻辑:&&  ||  !
一元:++、--

综合练习

1、(表达式,运算符)已知a,b,c,求如下情况下d的值:
var a, b, c, d;
a = 1;    b = 2.2;    c = 3.3;	d = a + b + c;   	 // d = ?      6.5
a = 1;    b = 2.2;    c = “3.3”;	d = a + b + c;   // d = ?      3.23.3
a = 1;    b = “2.2”;  c = 3.3;	d = a + b + c;  	 // d = ?      12.23.3
a = “1”;  b = 2.2;    c = 3.3;	d = a + b + c;  	 // d = ?  	   12.23.3
a = “1”;  b = 2.2;    c = 3.3;	d = a + (b + c); 	 // d = ?      15.5
a = “1”;  b = 2.2;    c = 3.3;	d = (a + b) + c;  	 // d = ?      12.23.3
2、(运算符)读程序写结果
var i = 10;  var j = i++;  alert(i + “,” + j);  		// j = ?, i = ?
var i = 10;  var j = ++i;  alert(i + “,” + j);  		// j = ?, i = ?
var i = 10;  var j = i++;  i=j++;  alert(i + “,” + j);  // j = ?, i = ?
var i = 10;  var j = ++i;  i=++j;  alert(i + “,” + j);  // j = ?, i = ?var i = 10;  			    i=10
var j = i++;                j=10   i=11
alert(i + “,” + j);  		// j = ?, i = ?var i = 10;  			    i=10
var j = ++i;  				i=11、j=11
alert(i + “,” + j);  		// j = ?, i = ?var i = 10;  				i=10
var j = i++;  				j=10、i=11
i=j++;  					i=10、j=11
alert(i + “,” + j);  // j = ?, i = ?var i = 10;  				i=10
var j = ++i;  				i=11、j=11
i=++j;  					j=12、i=12
alert(i + “,” + j);  // j = ?, i = ?

三、运算符 (优先级)

规则

练习

重点:// 小括号 -> 一元运算符 -> 乘除 -> 加减 -> 赋值

了解:工作面试用不到

var k=0;   // 默认k盒子里面是0
console.log(k++ 	+ 	++k 	+ 		k	 + 	k++);
//         0		+   2	    +	    2    +  2	  =  6
//        盒子1		  盒子2			盒子2     盒子3var k = 0; // 默认k盒子里面是0
console.log(k++ 	+ 	++k);
//         0		+   2		=  2
//        盒子1         盒子2var k = 0;
console.log(k++ + ++k + ++k + ++k);
// 			0   +  2  +  3		4   =  9
//         盒子1   盒子2  盒子3  盒子4var k = 0; // 默认k盒子里面是
console.log(k++ 	+ 	--k 		+	 k--	 +	 k++	 + ++k);var i = 1,j = 20;
console.log(i++ + --j + ++j + --i); 

四、流程控制(概念理解)

引导

  • 思考:下述代码如何实现?
  • 解决:判断 if 生活中 假如

顺序结构

console.log("hello");
console.log("hello2");
console.log("hello3");## 循环结构循环结构:重复做一件事情[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r49ZmHtP-1623397583318)(images/循环结构.png)]  # 五、if条件-分支结构!!!## ■ 明确需求[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-usDLAev5-1623397583319)(images/1566256720537.png)]  明确:在实战工作中经常需要判断数据显示还是不现实,如上图案例屡见不鲜思考:如何实现?回答:通过if判断## ■ if 语句## (单选 单分支)- **语法**> ```
> if (条件) {
>  // 代码   (留心:当条件成立的时候就会执行大括号里面的代码
> }
> ```- **练习**:输入一个整数判断是不是偶数(注:通过prompt语法  输入框)
## ■ if else 语句## (二选一 双分支)- **语法**

if (条件) {
// 条件成立 走第一个大括号代码
} else {
// 条件不成立 走第二个大括号代码
}

- **练习**:输入一个整数判断是奇数还是偶数(注:通过prompt语法)```javascript

■ if else if … else 语句

(多选一 多分支)

  • 语法
if (条件1) {// 条件1,成立执行   
} else if (条件2) {// 条件2,成立执行 
} else if (条件3) {// 条件3,成立执行 
} .... {} else {// 以上条件都不成立执行
}留心:只要有一个条件成立了,后续代码就不走了!!!
  • 练习

输入一个成绩判断该成绩属于哪个分类
90分及以上,优秀;
80分及以上,良好
70分及以上,一般
60分及以上,及格
60分以下,不及格

<script>
// 输入一个成绩判断该成绩属于哪个分类
// 90分及以上,优秀;
// 80分及以上,良好 
// 70分及以上,一般 
// 60分及以上,及格 
// 60分以下,不及格   // 1. 声明变量 存放成绩  score   cj
// 2. 判断成绩// 1. 声明变量 存放成绩  score   cj
var score = prompt("请输入成绩")
// 2. 判断成绩
if (score >= 90) {alert("优秀")
} else if (score >= 80) {alert("良好 ")
} else if (score >= 70) {alert("一般 ")
} else if (score >= 60) {alert("及格 ")
} else {alert("不及格")
}
</script>

■ 小总结

应用场景:后期实战工作的时候网页根据不同情况显示不同结果

if判断语法有三个

单分支(单选)

双分支(二选一)

多分支(多选一)

if (条件1) {} else if (条件2) {
} 
...
else {}

■ 综合案例(略难)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CKzqvJkg-1623397583320)(images/1566267013640.png)]

■ 步骤1:显示静态页面 (直接复制)






■ 步骤2:当点击等号按钮时,获取【input框数据】和【运算符】得出结论,放到【结果框中】

<input type="text" id="input1" value="">
<select id="fuhao"><option value="+">+</option><option value="-">-</option><option value="*">*</option><option value="/">/</option>
</select>
<input type="text" id="input2" value="">
<button id="eqBtn">=</button>
<input type="text" id="result" value="">
<script>
/*
相关知识点
固定语法(注:后期还会详细学  现在直接用)
1. 通过语法【id属性值.onclick = function() { 这里面写JS代码 }】 点击之后出发
2. 通过语法【id属性值.value】获取input框里面的数据
3. 通过语法【id属性值.value = 数据】修改input框里面的数据切记:点击等号之后获取input框获取(因为你会改变input框值 也就是每次点击都要重新获取)
*/// 1. 给input框 增加点击效果
// 2. 在点击效果 function() {} 这里面写代码
eqBtn.onclick = function() {// 先不着急写,先点击弹出1测试// alert(2)// 1. 获取第一个输入框里面的值var input1Value = parseFloat(input1.value)// 2. 获取select下拉框选择的符号var fuhaoValue = fuhao.value// 3. 获取第二个输入框里面的值var input2Value = parseFloat(input2.value)  // 脚下留心:变量名随意,但是别跟上面的id属性值一样// 4. 判断计算(结果 result  行业潜规则 rs)if (fuhaoValue == '+') {var rs = input1Value + input2Value} else if (fuhaoValue == '-') {var rs = input1Value - input2Value} else if (fuhaoValue == '*') {var rs = input1Value * input2Value} else if (fuhaoValue == '/') {var rs = input1Value / input2Value}  else {var rs = '你有瑕疵啊'}// 5. 将 上述计算结果  放到最后一个框框里面// id属性值.value = 数据result.value = rs
}
</script>

六、switch条件-分支结构!!!

语法

switch(要判断的变量) 
{
case 值1:    // 值1成立,执行的代码break
case 值2:    // 值2成立,执行的代码break
case 值3:    // 值3成立,执行的代码break
...
default:// 以上都不成立执行的代码
} 

留心1:break必须写

留心2:switch、case、default都是系统关键词

留心3:switch常用于固定值判断

练习

需求: 根据变量给出的数字显示是星期几

代码:

<script>
// 需求: 根据变量给出的数字显示是星期几
// 代码// 1.声明变量
var day = 2 // 1 2 3 4 5 6 7
// 2.判断
switch (day) {case 1:console.log('星期1')break;case 2:console.log('星期2')break;case 3:console.log('星期3')break;case 4:console.log('星期4')break;case 5:console.log('星期5')break;case 6:console.log('星期6')break;case 7:console.log('星期天')break;default:console.log('你放假了!!!')break;
}
</script>

七、switch判断和if判断的区别

if常用于范围判断(思考:可不可以写固定值判断,回答:可以 根据你写的运算符来决定 ==)

switch常用于固定值判断(其他了解:也可以范围判断、当条件true 全等判断

验证支持范围判断


验证固定值判断的是全等

// 验证:全等
var num = 1
switch (num) {// case 1:case '1':console.log(111)break;case 2:console.log(222)break;default:console.log(666)break;
}

验证:break不写就会出现瑕疵 90%都加 case穿透

// 验证:case穿透
var num = 1
switch (num) {case 1:console.log(111)// break;case 2:console.log(222)// break;case 3:console.log(333)// break;default:console.log(666)break;
}

八、三元运算

语法

  • 三元运算:顾名思义就是有三个操作组成(注:两个符号)
  • 语法:操作1 ? 操作2 : 操作3
  • 留心:操作1成立-操作2,操作1不成立-操作3

练习

  • 需求:判断是奇数还是偶数

九、判断总结!!!

什么时候用if:常用于范围判断(固定值也行 而且可以控制 值相等和全等

什么时候用switch:常用于固定值判断

特性1: 固定值判断 全等
特性2:break不写  case穿透   第一个成立后面都成立打印   了解
特性3:当小括号为true  可以范围判断    		        了解

什么时候用三元运算符: if…else 可以减少代码行数

■ 复习

五种输出语句

弹出警告框:alert
弹出输输入框:prompt
弹出确认框:confirm
在网页输出:document.write
控制台输出:console.log

if判断

if (条件) {条件为真执行的代码
}if (条件) {条件为真执行的代码
} else {条件为假执行的代码
}if (条件1) {条件1为真执行的代码
} else if (条件2) {条件2为真执行的代码
}
....
else {以上条件都不成立执行的代码
}

switch判断

switch(变量) 
{case 值1:条件成立执行的代码break;...default:以上条件都不成立执行的代码break;
}

脚下留心:

1-默认switch用于固定值全等判断

2-当变量改为true时 可以范围判断 (了解)

3-break如果不写,case都会挨个执行 (case 穿透 了解)

三元运算符

操作1 ? 操作2 : 操作3

判断总结

范围判断常用:if 
固定值判断常用:switch  (相对而言 三个以上是否相等   举例:判断你男还是女  if较多)
三元运算符:简单判断  (可以用来代替 if...else   注:一般不是直接输出 而是赋值给变量)

循环:重复做一件事的表现

好处:提高工作效率

while:脚下留心只要循环条件为真就会一直循环

// 1. 声明循环变量while (2.循环变量判断) {// 3. 循环变量更新   脚下留心:如果没有更新就一直循环   死循环
}

■ 作业

  • 代码题

见附件

  • 非代码题目

1将课件一级标题需求练习至少敲三遍
2通过有道云笔记或word文档根据自己的理解整理学习笔记(晚整理,睡回忆,早读)
3预习明天课程内容
4晚自习下课前10分钟 小组成员相互提问 今日教学目标


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部