流程控制 控制流程走向

一:顺序流程

二:选择流程

1:单分支if ()

语法结构 if (条件) {

执行块

} //条件为真,运行执行块。条件为假,不做其他操作

2:多分支 if(条件) {

执行块1;

} else {

执行块2;

} //条件为真,运行执行块1.条件为假,运行执行块2;

//案例一
// 导入模块
const readline = require("readline-sync");
//输入一个数字判断是不是7或5的倍数
let number = readline.question('please a number :');if (number % 5 == 0 || number % 7 == 0) {console.log(`${number} 是5或者7的倍数`);
} else {console.log(`${number} 不是5或者7的倍数`);
}
//案例2
//输入一个年份,判断是不是闰年
let year = readline.question();
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {console.log(`${year} 是闰年`);
} else {console.log(`${year} 是平年`);
}// 案例3
// 获取用户输入,如果输入是数字,打印;如果不是数字,就交换a,b的值
let a = 'B', b = 'A';
let num = readline.question();
if (isNaN(num)) {var temp;teamp = a;a = b;b = teamp;console.log(`a=${a}`,`b=${b}`);
} else {console.log('你输入的数字是'+num);
}
// 案例4
// 获取用户输入的一个数字,是三位数字就倒序输出
let num1 = readline.question();
if (num1.length === 3 && parseInt(num1 / 100) != 0) {var bai = parseInt(num1 / 100);var shi = parseInt(num1 % 100 / 10);var ge = num1 % 100 % 10;console.log(String(ge) + shi + bai);
} else {console.log(`${num1}不是3位数`);
}// 案例五:输入一个三位数,判断是不是水仙花数,个位立方加十位立方+百位立方等于数字本身
let num2 = readline.question()
if (num2.length === 3 && parseInt(num2 / 100) != 0) {var bai = parseInt(num2 / 100);var shi = parseInt(num2 % 100 / 10);var ge = num2 % 100 % 10;snum = bai ** 3 + shi ** 3 + ge ** 3;if (snum == num2) {console.log(`${num2} 是一个水仙花树`);} else {console.log(`${num2}不是一个水仙花树`);}
} else {console.log(`${num2} 不是一个三位数`);
}

多分支

if(条件1) {

语句块1

} else if(条件2) {

语句块2

} else if (条件3){

语句块3

}else {

语句块4

}

从上而下进行判断:如果条件1结果为真,则运行语句块1的代码;如果条件1为假,跳过语句块1,接着判断条件2的结果,如果条件2为真,则执行语句块2;如果条件2结果为假,跳过语句块2,则接着判断条件3的结果,条件3结果为真,运行语句块3中的代码。如果条件3结果为假,跳过语句块3,运行语句块4里面代码。总之多分支语句只等执行其中一个条件下的语句块。

// // 案例一,成绩判断等级
console.log('输入一个成绩');
let score = readline.question();
if (score >= 90) {console.log('A');
} else if (score >= 70) {console.log('B');
} else if (score >= 60) {console.log('C');
} else {console.log('D');
}// 案例二,计算器实现四则运算
console.log('输入一个数');
let num1 = parseFloat(readline.question());
console.log('输入运算符');
let ope = readline.question();
console.log('输入另一个数');
let num2 = parseFloat(readline.question());
if (ope == '+') {console.log(num1 + num2);
} else if(ope == '-') {console.log(num1-num2);
} else if (ope == '*') {console.log(num1*num2);
} else if(ope =='/') {console.log(num1/num2);
} else {console.log(`${ope}不是简单运算符`);
}

switch()多分支条件语句
语法格式:
switch (条件) {

case A:

​ 语句块1;

​ break;

case B:

​ 语句块2;

​ break;

case C:

​ 语句块3;

​ break;

default:

​ 执行最后语句块

}

// 条件A,则执行语句块1,并且跳出循环;条件B,执行语句块2,并且跳出循环;条件==C,执行语句块3,并且跳出循环;前面全部的值都不满足,则运行最后default中的最后的语句块。

// 案例三:输入月份判断季节。123春天 456夏天 789秋天  10,11,12冬天
console.log(`输入一个月份:`);
let month = readline.question()
console.log(typeof(month));
switch (month) {case '1':console.log(`${month} 是春天`);break;case '2':console.log(`${month} 是春天`);break;case '3':console.log(`${month} 是春天`);break;case '4':console.log(`${month} 是夏天`);break;case '5':console.log(`${month} 是夏天`);break;case '6':console.log(`${month} 月是夏天`);break;case '7':console.log(`${month} 月是秋天`);break;case '8':console.log(`${month} 月是秋天`);break;case '9':console.log(`${month} 月是秋天`);break;case '10':console.log(`${month} 月是冬天`);break;case '11':console.log(`${month} 月是冬天`);break;case '12':console.log(`${month} 月是冬天`);break;default:console.log('错误');
}

三:循环流程

1:for循环

语法结构:

for(初始化变量;条件表达式;操作表达式) {

循环体

}

举例说明:

for (var i = 0; i<4;i++) {

//循环体

console.log(i)

}

//1:首先初始化变量 var i=0;

2:在条件表达式中 i<4 的判断结果为真,则执行循环体里面的代码console.log(i),打印i的值;

3:循环体执行之后,代码去执行i++这个自增的代码。然后把得到的i值在在条件表达式中进行判断,如果为真,则继续执行循环体中的代码。

4:直到条件表达式返回的是false值时,跳出这个循环。

// 案例5:1~100的累加和
let sum = 0;
for (let i = 0; i <= 100; i++) {sum += i;
}
console.log(sum);// 案例6:1+1/2+1/3+...+1/100的和
let sum = 0;
for (i = 1; i <= 100; i++) {sum += 1 / i;
}
console.log(sum);// 案例7:判断一个数是不是质数
console.log('请输入一个数:');
let number = readline.question()
let bl = 1;
for (i = 2; i < number;i++) {if (number % i == 0) {bl += 1;break;}
}
if (bl > 1) {console.log(`${number}不是质数`);
} else {console.log(`${number}是质数`)
}// 案例8:求出1~100的奇数和 偶数和let o_sum = 0;
let e_sum = 0;
for (var i = 1; i <= 100; i++) {if (i % 2 == 0) {e_sum +=i} else {o_sum +=i}
}
console.log(`奇数和等于${o_sum}`);
console.log(`偶数和等于${e_sum}`);// 案例9:打印1~100 能被7整除或尾数是7的数,并统计数量
let count = 0;
for (var i = 1; i <= 100; i++) {if (i % 7 == 0 || i % 10 == 7) {count += 1;console.log(i);// 打印符合条件的数}
}
console.log(`总共有${count}个数符合条件`);// 案例10:打印2000~3000年之间的闰年for (let i = 2000; i <= 3000; i++) {if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {console.log(`${i} 年是闰年`);}
}// 案例12:打印前十位的裴波拉契数列
let a = 0;
let b = 1;
let c = 0;
for (let i = 0; i < 10; i++) {console.log(a);c = a + b;a = b;b = c;
}

2:while循环

语法结构:

​ while(条件表达式) {

​ 循环体

}

//只要条件表达式为真,则执行循环体;否则退出循环体。

// 案例1:1~100的累加和
let number = 1;
let sum = 0;while (number <= 100) {//条件是number <=100 就执行循环体//循环体sum += number;//条件自增number++;
}
//循环结束后打印结果
console.log(sum);
// 案例2:打印1~100能被3或5整除的数let num = 1;
while (num <= 100) {if (num % 3 === 0 || num % 5 === 0) {console.log(num);}num++;
}
// 案例3:登录判断
let userName = 'zhangsan', userPassword = '123';
while (1) {console.log('请输入账号:');let nameInput = readline.question();console.log('请输入密码:');let passwordInput = readline.question();if (nameInput === userName && passwordInput === userPassword) {console.log('欢迎你');break;//使用break来跳出循环体}console.log('你输入的账号密码不对,请重新输入');
}

3:do while 循环

语法结构:

do {

​ 循环体

} while(条件表达式)

//无论条件表达式的结果为真还是假,首先执行一次循环体。然后再根据条件表达式的结果去判定是否继续执行循环体里面的代码

javaScript 流程控制相关推荐

  1. JavaScript流程控制-循环(循环(for 循环,双重 for 循环,while 循环,do while 循环,continue break))

    目录 JavaScript流程控制-循环 循环 for 循环 执行过程: 断点调试: 案例一:求1-100之间所有整数的累加和 案例二:求1-100之间所有数的平均值 案例三:求1-100之间所有偶数 ...

  2. web前端学习584-610(JavaScript流程控制-循环---for循环 while循环 do...while循环 continue break)

    文章目录 JavaScript流程控制-循环 1 循环 2 for 循环 案例1:求1-100之间所有的整数的累加和 案例2:求学生成绩 案例3:一行打印五个星星 3 双重for 循环 案例:打印五行 ...

  3. JavaScript(二)—— JavaScript 运算符/JavaScript 流程控制/JavaScript 数组

    本篇为 JavaScript 系列笔记第二篇,将陆续更新 文章目录 一.运算符 1. 算术运算符 2. 递增和递减运算符 3. 比较运算符 4. 逻辑运算符 短路运算(逻辑中断) 5. 赋值运算符 6 ...

  4. JavaScript流程控制-分支结构

    流程控制主要有三种结构,分别是顺序结构,分支结构. 1 .if语句 if语句的结构: if(表达式){ 执行语句 } if语句的执行思路             如果if的条件表达式为真 true,则 ...

  5. JavaScript流程控制

    目录 一.什么是流程控制 二.顺序结构 三.分支结构--if语句 1.if语句 1.1语法结构 1.2执行思路 ​ 1.3案例:进入网吧 2.if-else双分支语句 2.1语法结构 2.2执行思路 ...

  6. JavaScript流程控制之分支结构

    if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码 if-else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码 if-else if-else 语 ...

  7. JavaScript流程控制,带你打印九九乘法表

  8. JavaScript入门(part7)--流程控制

    学习笔记,仅供参考,有错必纠 参考自:pink老师教案 文章目录 JavaScript入门 流程控制 流程控制概念 顺序流程控制 分支流程控制 三元表达式 switch分支流程控制 for循环 双重f ...

  9. python给js变量赋值_python 之 前端开发( JavaScript变量、数据类型、内置对象、运算符、流程控制、函数)...

    11.4 JavaScript 11.41 变量 1.声明变量的语法 //1. 先声明后定义 var name; //声明变量时无需指定类型,变量name可以接受任意类型 name= "eg ...

最新文章

  1. PHP使用BC Math 函数处理浮点运算问题
  2. 什么时候使用Java的@Override注释,为什么?
  3. 合同模板布局html,套打模板制作(合同类模板)
  4. python 内置模块:collections
  5. [图形学]切向空间(Tangent Space)
  6. 2016,你最不应该错过的热门技术文章
  7. mysql5.5.17源代码安装
  8. matlab遗传算法实例crtrp,遗传算法实例参考.ppt
  9. 期末作业面向对象程序设计(Java)“猜拳游戏”
  10. 二进制、十进制、十六进制数值对照表
  11. 海词词典android v3.1.2新版发布 英语学习必备工具,海词词典手机版下载_海词词典最新版下载安装v6.1.18 - 数码资源网...
  12. 动态表情与超链接制作
  13. 每日一佳——A Support Vector Method for Multivariate Performance Measures(Thorsten Joachims,ICML,2005)
  14. 沐风微信营销水库模型二:建设专属秘密武器库!
  15. 给Excel表格中某一列都添加指定内容
  16. 2021.03.27_网易云登录params、encSecKey参数详解
  17. HTTP Status 404(The requested resource is not available)(转)
  18. 高德地图开发者平台获取sHA1值
  19. vue引入第三方原生js库
  20. 简要说明:机器翻译演进过程

热门文章

  1. 127届广交会首次线上举行,VR全景、3D迎来普及机会
  2. RV蜗轮蜗杆减速机特点及价格决定的因素
  3. XEP-0199: XMPP Ping
  4. 视频采集卡都有哪些基本类型
  5. c# 汉字转拼音 首字母 并储存字库
  6. 聊聊手机上使用的防抖技术
  7. 立体影片格式全面全解析
  8. python已停止工作appcrash_如何解决APPCRASH问题
  9. 老男孩-Python之路,Day1 - Python基础1
  10. PID控制器及其C++实现