JavaScript--⿊马程序员pink⽼师笔记--P55-P95JavaScript流。。。JavaScript流程控制-分⽀
流程控制
流程控制就是来控制我们的代码按照上⾯结构顺序来执⾏
主要有三种结构:顺序结构、分⽀结构、循环结构
顺序流程控制
按照代码的先后顺序,依次执⾏
分⽀流程控制->if语句
根据不同的条件,执⾏不同的路径代码(多选⼀)
//条件成⽴执⾏代码,否则什么也不做
if(条件表达式){
//执⾏语句
}
执⾏思路:
1.如果if⾥⾯的条件表达式结果为真,则执⾏⼤括号⾥⾯的执⾏语句
2.如果if 条件表达式 为假,则执⾏if语句后⾯的代码
进⼊⽹吧案例
1. 弹出prompt输⼊框,⽤户输⼊年龄,程序把这个值取过来保存到变量中
2. 使⽤if语句来判断年龄,如果年龄⼤于18就执⾏⼤括号⾥⾯的输出语句
var age = prompt('请输⼊你的年龄:');
if (age >= 18) {
alert('可以进⼊⽹吧');//执⾏语句
}
if else 双分⽀语句
//条件成⽴执⾏代码,否则执⾏语句2
if(条件表达式){
//执⾏语句
}
else{
//执⾏语句2
}
if else if语句(多分⽀语句)
利⽤多个条件来选择不同的语句来执⾏,得到不同的结果(多选⼀)
if(条件表达式1){
/
/执⾏语句1;
}else if(条件表达式2){
//执⾏语句2;
}else if(条件表达式3){
//执⾏语句3;
}else{
//最后的语句;
}
三元表达式
条件表达式: ? 表达式1:表达式2
如果条件表达式结果为真,则返回表达式1的值,假则返回2的值
分⽀流程控制 switch语句
⽤于基于不同的条件来执⾏不同的代码,当要针对变量设置⼀系列的特定值的选项时,就可以使⽤switch
switch(表达式){
case value1:
执⾏语句1;
break;
case value2:
执⾏语句2;
break;
...
default:
执⾏最后的语句;
}
执⾏思路:
利⽤表达式的值 和case 后⾯的选项值相匹配,
如果匹配上,就执⾏该case⾥⾯的语句,
如果都没有匹配上,执⾏default⾥⾯语句。
1. 表达式经常写成变量
2. 必须值和数据类型⼀致才可以 ===
3. 如果当前的case⾥没有beak,则不会退出switch,⽽是继续执⾏下⼀个case
switch和if else if语句的区别
1. ⼀般情况下,他们俩语句可以互相替换
2. switch…case语句通常处理case为⽐较确定值的情况,⽽if…else…语句更加灵活,常⽤于范围判断(⼤于等于某个范围)
3. switch语句进⾏条件判断后直接执⾏到程序的条件语句,效率更⾼。⽽if…else语句有⼏种条件,就得判断多少次
4. 当分⽀⽐较少时,if…else语句的执⾏效率⽐switch语句⾼
5. 当分⽀⽐较多时,switch语句的执⾏效率⽐较⾼,⽽且结构更清晰
JavaScript流程控制-循环
for循环
1. for 重复执⾏某些代码,通常和计数有关系
2. 初始化变量 就是⽤var声明的⼀个普通变量,通常⽤于作为计数器使⽤
3. 条件表达式 就是⽤来决定每⼀次循环是否继续执⾏,就是终⽌的条件
4. 操作表达式 是每次循环最后执⾏的代码,经常⽤于我们技术器变量进⾏更新(递增或递减0
for(初始化变量;条件表达式;操作表达式){
// 循环体
}
for(var i =1; i <=100; i++){
console.log('你好');// 循环体
}
1. ⾸先执⾏⾥⾯的计数器变量 var= i=1.但是这句话在for⾥⾯只执⾏⼀次。index
2. 去 i<=100 来判断是否满⾜条件,
如果满⾜条件,就去执⾏循环体;不满⾜条件就退出循环。
3. 最后去执⾏ i++,i++是单独写的代码,递增。第⼀轮结束
4. 接着去执⾏i<=100,
如果满⾜条件,就去执⾏循环体;不满⾜就退出循环。开始第⼆轮
断点调试
浏览器中按F12–>source–>到需要调试的⽂件–>在程序的某⼀⾏设置断点
Watch:监视,通过watch可以监视变量的值的变化,⾮常的常⽤
F11:程序单步执⾏,让程序⼀⾏⼀⾏的执⾏,这个时候观察watch中变量的值的变化for 循环可以执⾏相同的代码
可以让⽤户控制输出的次数
var num =prompt('请输⼊次数');
for(var i =1; i <= num; i++){
console.log('媳妇我错了');
}
for循环重复执⾏不相同的代码
for(var i =1; i <=100; i++){
console.log('这个⼈今年'+ i +'岁啦');
}
for(var i =1; i <=100; i++){
if(i ==1){
console.log('这个⼈今年1岁了');
}else if(i ==100){
console.log('这个⼈今年100岁了');
}else if(1< i <100){
console.log('这个⼈今年'+ i +'岁啦');
}
}
for循环重复某些运算
求1~100之间的整数累加和
1. 需要循环100次,需要⼀个计数器i
2. 需要⼀个存储结果的变量sum,但是初始值⼀定是0
3. 核⼼算法:1+2+3…+100,sum=sum+i;
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum = sum + i;//sum+=i;
}
console.log(sum);
求1~100之间所有数的平均值
var sum =0;
for(var i =1; i <=100; i++){
sum = sum + i;//sum+=i;
averge = sum / i;
}
console.log(averge);
var sum =0;
var averge =0;
for(var i =1; i <=100; i++){
sum = sum + i;
}
averge = sum /100;
console.log(averge);
求1~100的偶数、奇数
var even =0, odd =0;
for(var i =1; i <=100; i++){
if(i %2==0){
even = even + i;
}else{
odd = odd + i;
}
}
console.log(even);
console.log(odd);
1~100之间能够被3整除的数字的和
var result =0;
for(var i =1; i <=100; i++){
if(i %3==0){
result = result + i;
}
}
console.log(result);
var a =prompt('请输⼊学⽣的⼈数:');
var sum =0;
var average =0;
for(var i =1; i <= a; i++){
var score =prompt('请输⼊第'+ i +'个学⽣成绩:');
sum = sum +parseFloat(score);
average = sum / i;
}
alert('总成绩为:'+ sum);
alert('平均成绩为:'+ average);
采⽤追加字符串的⽅式,这样可以打印到控制台上
str =''
for(var i =1; i <=5; i++){
str = str +'*';
}
console.log(str);
var num =prompt('请输⼊星星的个数');
var str ='';
for(var i =1; i <= num; i++){
str = str +'*'
switch case判断字符串}
console.log(str);
双重for循环
for(外层的初始化变量;外层的条件表达式;外层的操作表达式){
for(⾥层的初始化变量;⾥层的条件表达式;⾥层的操作表达式){
//执⾏语句;
}
}
1. 可以把⾥⾯的循环看做是外层循环的语句
2. 外层循环,循环⼀次,⾥⾯的循环执⾏全部
for(var i =1; i <=3; i++){
console.log('这是外层循环'+ i +'次');
for(var j =1; j <=3; j++){
console.log('这是⾥层的循环第'+ j +'次');
}
}
[外链图⽚转存失败,源站可能有防盗链机制,建议将图⽚保存下来直接上传(img-3IEXMdSD-1615981952640) (C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210317105645205.png)]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论