一、if语句
例1:
// 满30减15 var price = 35; if (price > 30){ price = price - 15; } console.log('应该付款'+price);
结果:20
例2:
// 声明变量保存年龄,如果年龄大于60,再原来的基础上减5,打印最终年龄 var age = 61; if (age>60){ age = age - 5; } console.log(age)
结果:56
例3:
// 声明两个变量分别保存用户名和密码,如果用户名是root,并且密码是123456,打印登录成功; var username = 'root'; var password = '123456'; if (username='root' && password='123456'){ console.log('success'); }
// 逻辑短路的写法
(username = 'root' && password='123456')&& console.log('success')
结果:success
例4:
// 如果年龄大于等于18岁,打印“成年人”,否则打印“未成年人” // 注意:如果if后的语句中只有一行,是可以省略大括号 var age = 21; if (age>=18){ console.log('成年人'); }
结果:成年人
// 在if语句的条件表达式中,有一些值默认为false
0 NaN underdined null
二、if_else语句
例1:
// 如果应付27,余额够,支付成功,否则提示:余额不足,请充值 var money = 50; if (money>=27){ console.log('支付成功'); }else{ console.log('余额不足,请充值!'); }
结果:支付成功
例2:
//应付 var money1 = 27; //余额 var money2 = 25; if (money2 >= money1){ console.log('支付成功'); }else{ console.log('余额不足,请充值!'); }
结果:余额不足,请充值!
例3:
// 声明个性签名,如果有内容,则打印,否则打印“这个家伙很懒” var signature = ''; if (signature == ''){ console.log('这家伙很懒'); }else{ console,log(signature); }
例4:
// 练习:使用弹出提示框分别输入商品的价格和数量,判断商品总价是否满500,如果满500打八折; // 获取输入商品价格和数量 var price = prompt('please input price'); var count = prompt('please input price'); // 获取商品的总价 var total = price*count; // 判断总价是否满500 if(total>=500){ total=total*0.8; console.log(total); }else{ console.log(total); } var money = 600; if(money>=total){ console.log('支付成功'); }else{ console.log('支付失败'); }
三、if - else的嵌套
语句
// else-if 语句0; if(条件表达式1){ 语句1; }else if{ 语句2; }else if{ 语句3; }else{ 语句n; }
例子1:
// 银行卡内存款分类 // 10以下 普通客户 // 10-100 白银客户 // 100-1000 黄金客户 // 1000以上 钻石客户 var money = 35; if(money<10){ console.log('普通客户'); }else if(money<100){ console.log('白银客户'); }else if(money<1000){ console.log('黄金客户'); }else{ console.log('钻石客户'); }
swich-case语句
语句
语句0 switch(表达式){ case1: // 如果表达式值是1 语句1; break; // 终止,不会再往后执行其他语句 case2: 语句2; break; casen: 语句n; break; default: 语句n+1; }
例1:
var status = 3; switch(status){ case 1: console.log('待付款'); break; case 2: console.log('代发货'); break; default: console.log('状态码不存在'); }
while循环(先判断,后做)
例1:
// 打印10次hello // 初始值0,每次加1,小于10 var i = 0; while(i<10){ console.log('hello'); i++; }
例2:
// 使用无限循环形式来计算1-10所有数字相乘的结果 var i = 1; var sum = 1; while(true){ if(i==11){ break; } console.log(i); sum *= i; i++; }
例3:
// 打印1-100间的奇数 var i = 1; while(i<100){ if(i%2 == 1){ console.log('hello'); } i++; }
例4:【03_break.js】
// 练习:使用变量保存1个数字,使用弹出提示框的形式输入数字,如果数字猜大了,提示big,如果小了,提示小了,如果对了,提示对了,结束循环 // 使用变量保存1个数字 var num=10; // 弹出提示框 while(true){ // 获取用户输入的值 var num2 = prompt('please input a number'); // 如果输入的值大于保存的值 if(num2>num){ alert('big'); }else if(num2<num){ alert('small'); }else{ alert('right'); // 结束循环 break; } }
【03_break.html】
<script src="03_break.js"></script>
do-while循环(先做,后判断)
语法:
do{
循环体
}while(循环条件);
例1:不管循环条件是否为true,都会执行一次循环体
// 打印1-10 var i=1; do{ console.log(i); i++; }while(i<=10);
例2:
// 打印1-50间的偶数 var i=50; do{
if(i%2==0){
console.log(i);
} i--; }while(i>=1);
例3:
// 打印100,95,90,85,80,75,70; var i=100; do{ console.log(i); i=i-5; }while(i>=70);
例4:
// 计算1-100间所有整数的和 var i=1; var sum=0; do{ sum+=i; i++; }while(i<=100);
例5:
// 计算1-100间所有能被7整除的数字的和 var i=1; var sum=0; do{ if(i%7==0){ sum+=i; } i++; }while(i<=100); console.log(sum);
例6:
// 计算1-10之间所有数字的乘积 var i=1; plus=1; do{ plus*=i; i++; }while(i<=10); console.log(plus);
例7:
// 练习:计算10-20之间所有能被3整除的数字的乘积 var i=10; plus=1 do{ if(i%3==0){ plus*=i; } i++; }while(i<20); console.log(plus);
例8:
// 声明变量保存密码123456,循环弹出提示框输入密码,如果正确,提示输入成功,否则继续弹出 var password='123456'; do{ // 弹出提示框输入密码 var num=prompt('input password'); if(num==password){ console.log('success'); break; }while(true);
for循环
语法:
// for循环1-10 for(初始;循环条件;i的变化){ 循环体 }
例1:
// 打印1-10之间所有的整数 for(var i=1;i<=10;i++){ console.log(i); }
例2:
// 计算1-100间所有整数的和 for(var i=1,sum=0;i<=100;i++){ sum+=i; } console.log(sum);
例3:
// 打印20-50间所有的奇数 for(var i=20;i<=50;i++){ if(i%2==1){ console.log(i); } }
例4:
// 打印80,77,74,....50 for(var i=80;i>=50;i-=3){ console.log(i); }
例5:
// 计算1-10之间所有数的乘积 for(var i=1,sum=1;i<=10;i++){ sum*=i } console.log(sum);
例6:
// 打印本世纪(2000-2100)所有的闰年 for(var i=2000;i<=2100;i++){ // 判断i是否为闰年 // 四年一润,百年不润,四百年再润 if(i%4==0 && i%100 !=0 || i%400==0){ console.log(i); } }
例7:
// 打印99乘法表第5行 // 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 var str=''; for(var i=1;i<=5;i++){ str+=i+'*5='+(i*5)+' '; } console.log(str);
例8:
// 练习:计算1/10+2/9+3/8+4/7+5/6.....10/1 for(var i=1,j=10,sum=0;i<10;i++,j--){ sum+=i/j; } console.log(sum);
break:跳出循环
continue:跳过本次循环,执行下一次循环
例1:
// 打印0 1 2 4 5 6 for (var i = 0; i < 7; i++) { if(i==3){ continue; } console.log(i); }
例2:
// 计算1-100间所有偶数的和(遇到奇数跳过) for(var i=1,sum=0;i<=100;i++){ if(i%2==1){ continue; } sum+=i; } console.log(sum);
例3:
// 打印1,2,5,7,10,11,13,14,17,...98 for(var i=1;i<=100;i++){ // 能被3或4整除的数 if(i%3==0 || i%4==0){ continue; } console.log(i); }
例4:
// 计算新中国成立后一共有多少个闰年 for(var i=1949,sum=0;i<=2019;i++){ // 如果满足闰年,sum+1 if(i%4==0 && i%100!=0 || i%400==0){ sum++; } } console.log(sum);
例5:
// 打印本世纪的前10个闰年 for(var i=2000,sum=0;i<2100;i++){ if(i%4==0 && i%100!=0 || i%400==0){ sum++; console.log(i); } if(sum==10){ break; } } console.log(sum);
循环嵌套
?