(四).JavaScript的循环结构
2.2 循环嵌套
①.语法
// 嵌套循环:循环内部包裹其他的循环
// 外侧循环执行一次,内部循环执行一轮
// 实例
for (var i = 0; i < 5; i++) {
for (var j = 0; j < 10; j++) {
console.log('我爱你')
}
}
②.案例
<script>
// 1.打印矩形 每次只能打印一颗*
for (var i = 0; i < 5; i++) {
for (var j = 0; j < 5; j++) {
document.write('*');
}
document.write('<br>');
}
// 2.打印直角三角形
// *
// **
// ***
// ****
// *****
// 打印图片 外层控制行,内层控制列
for (var i = 0; i < 5; i++) {
for (var j = 0; j < i + 1; j++) {
document.write('*');
}
document.write('<br>')
}
// 3.打印乘法口诀表
// 表格做法:
document.write('<table><tbody>');
// 行
for (var i = 1; i <= 9; i++) {
//每列
document.write("<tr>");
for (var j = 1; j <= i; j++) {
document.write('<td>' + j + '*' + i + '=' + i * j + '</td>');
}
document.write('</tr>');
// document.write('<br>');
}
document.write('</tbody></table>');
// 空格做法
// 行
for (var i = 1; i <= 9; i++) {
// 列
for (var j = 1; j <= i; j++) {
// i * j = ij
document.write(j + '*' + i + '=' + i * j + ' ');
}
document.write('<br>');
}
</script>
③.提升案例
<script>
// 输出1 - 100之间所有的素数(质数)(只能被1和自身整除的数, 但是1不是质数)
// 方法1 标志位思想
var flag = true;
for (var i = 1; i <= 100; i++) {
for (var j = 2; j < i; j++) {
if (i % j == 0) {
flag = false;
// 不是质数
break;
}
}
if (flag && i != 1) {
console.log(i);
}
flag = true;
}
// 方法2 计数器思想
var num = 0;
for (var i = 1; i <= 100; i++) {
for (var j = 1; j <= i; j++) {
if (i % j == 0) {
num++;
}
}
// 判断能被整除两次的是质数
if (num == 2) {
console.log(i);
}
// 重置num
num = 0;
}
// 方法3
for (var i = 1; i <= 100; i++) {
for (var j = 1; j <= i; j++) {
if (i % j == 0) {
break;
}
if (i == j + 1) {
console.log(i);
}
}
if (i == 2) {
console.log(i);
}
}
// 打印一个等腰三角形
// *
// ***
// *****
// *******
// *********
// 行
for (var i = 1; i <= 5; i++) {
for (var j = 1; j <= 5 - i; j++) {
document.write(' ');
}
for (var k = 1; k <= 2 * i - 1; k++) {
document.write('*');
}
document.write('<br>');
}
</script>
2.3 for循环非一般情况和死循环
①.for循环非一般情况
// for循环非一般写法
var i = 0
for (; i < 5;) {
console.log('我爱你');
i++;
}
for循环结束关键看条件表达式结果为真为假
②.死循环
// 简写
// 简写不能省略;
for (; true;);
for (; ;);
2.4 while循环
①.语法
var i = 0;
while (一般是条件表达式,结果是布尔值) {
循环体;
自增自减表达式;
}
②.执行流程
// 执行流程
// 1.首次执行
// 1-1 先执行初始化语句
// 1-2 执行条件表达式
// 条件为真,执行循环体,执行自增自减表达式
// 条件为假,跳出while循环
// 2.非首次执行
// 2-1 执行条件表达式
// 条件为真,执行循环体,执行自增自减表达式
// 条件为假,跳出while循环
③. for循环和while循环的适用场景
- for循环适合有明显循环次数的情况
- while循环适合有一个明确的结束条件的情况
2.5 do while循环
①.语法
var i = 0;
do {
循环体
自增自减表达式
} while(一般是条件表达式,结果是布尔值);
②.执行流程
// 执行过程
// 1. 执行初始化表达式
// 2. 执行循环体和自增自减表达式
// 3. 执行条件表达式
// 结果为真,继续执行循环体
// 结果为假,跳出循环
③.while和do while的区别
- while 是先判断条件,后选择是否执行
- do while 是先执行一遍循环体,再去判断条件
- do while 保证了循环体至少被执行一次
2.6关键字continue
①.continue作用
- 作用:在循环体中,结束本次循环,继续执行下一次循环
②.continue案例
// 打印1~100以内所有的能整除3的数字
for (var i = 1; i <= 100; i++) {
if (!(i % 3 == 0)) {
continue;
}
// console.log(i);
}
// 当if分支语句中只有一行语句时,可以省略大括号
for (var i = 1; i <= 100; i++) {
if (!(i % 3 == 0))
continue;
console.log(i);
2.7 关键字break
①.break作用
- 在 switch case 中表示跳出switch分支语句
- 在 循环中表示跳出最近的一层循环
②.break案例
for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
if (i == 1) {
break;
}
console.log(j, 'j');
}
console.log(i, 'i');
}
(四).JavaScript的循环结构的更多相关文章
- 九天学会Java,第四天,循环结构
变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 这次我们讲Java的循环结构.循环结构在编程中广泛使 ...
- 四、 java循环结构
for循环结构: 格式:①初始化条件;②循环条件;③迭代条件;④循环体 for(①;②;③){ //④ } 执行过程:①-②-④-③-②-④-③-...-④-③-②,直至循环条件不满足,退出当前的循环 ...
- JavaScript的循环结构和经典题目
一.JS中的循环结构 循环结构的执行步骤1.声明循环变量:2.判断循环条件;3.执行循环体操作:4.更新循环变量:5.然后循环执行2-4,直到条件不成立,跳出循环. while循环()中的表达式,运算 ...
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...
- Java基础(三):修饰符、运算符、循环结构和分支结构
一.Java修饰符: Java语言提供了很多修饰符,主要分为以下两类:访问修饰符和非访问修饰符.修饰符用来定义类.方法或者变量,通常放在语句的最前端. 1.访问控制修饰符: Java中,可以使用访问控 ...
- 前端开发:4、JavaScript简介、变量与常量、数据类型及内置方法、运算符、流程控制、循环结构、内置方法
前端开发之JavaScript 目录 前端开发之JavaScript 一.JavaScript简介 二.JS基础 三.变量与常量 四.基本数据类型 1.数值类型 2.字符类型 3.布尔类型 五.特殊数 ...
- 刘强1109 JavaScript基础二(分支与循环结构)
[if-else结构] 1.结构的写法: if(判断条件){ 条件为true时,执行if{} } else{ 条件为false时,执行else{} } 2.注意事项: ① else{}语句块,可以根据 ...
- Java05-Java基础语法(四)循环结构
Java05-Java基础语法(四)循环结构 循环结构(重复/迭代):根据条件重复执行部分语句 1.while循环结构 while(条件表达式){ 循环体语句; } 1)语法:a.while是关键字 ...
- Java语法基础(四)----循环结构语句
一.循环结构: 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则 ...
- java学习(四)修饰符、运算符、循环结构、分支结构
修饰符 一般是放在定义类,方法,变量的最前端 访问控制修饰符 修饰符 当前类 同一包内 子孙类 其他包 public Y Y Y Y protected Y Y Y N default Y Y N N ...
随机推荐
- Spring Boot上传文件功能的开发
Spring Boot上传文件功能的开发 Spring Boot使用Servlet 3的API javax.servlet.http.Part来支持文件上传.Spring Boot在类Multipar ...
- testtesttest
test test 2022-09-24 #include<iostream> using namespace std; int main(){ cout<<&qu ...
- 前后端分离--token过期策略方案1
https://blog.csdn.net/weixin_38827340/article/details/86287496?utm_medium=distribute.pc_aggpage_sear ...
- CF1528D It's a bird! No, it's a plane! No, it's AaParsa!
个人思路: floyd 求最短路,\(\Theta(n^3)\) 不能维护边的变化. 然后就不会做了. 正解: 首先,对于每个起始点,到达一个点 \(v\) 越早越好,因为可以等待. 边的变化相当于每 ...
- 实时搜索引擎Elasticsearch
Elasticsearch(简称ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库. E ...
- CompletableFuture的使用
1 List<List<String>> subList = CommonUtils.splitList(pendingIds, 500);private static fin ...
- npm设置和取消代理的方法
设置代理 npm config set proxy=http://server:port npm config set https-proxy https://server:port // https ...
- 多个git账户ssh密钥配置
假设两git网站:A.com和B.com,在这两个网站上使用的邮箱和用户名分别为a@mail, userA和b@mail, userB. 清除全局配置 git config --global --li ...
- csss线条中间粗两边细
效果 <div class="hr-line-div"></div> .hr-line-div { margin: 0 auto; height: 2px; ...
- 【Nday】Spring-Cloud-SpEL-表达式注入漏洞复现
# 环境搭建 JDK 15下载: https://www.oracle.com/java/technologies/javase/jdk15-archive-downloads.html 在Cen ...