分支结构/循环结构

一、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);

 循环嵌套

 

原文地址:https://www.cnblogs.com/hd-test/p/11700042.html