HTML文件,建议用Visual Studio Code或者HBuilder X打开查看
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,intial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>双重for循环</title>
<script>
var 外层初始化变量, 里层初始化变量;
var 外层条件表达式, 里层条件表达式;
var 外层操作表达式, 里层操作表达式;
for (外层初始化变量; 外层条件表达式; 外层操作表达式) {
//执行语句(根据情况可以不写)
for (里层初始化变量; 里层条件表达式; 里层操作表达式) {
//循环体
}
//执行语句(根据情况可以不写)
}
/*
①把整个里循环看成外循环的一句执行语句
②外循环每执行一次,里循环全部重新执行一遍
*/
//例
for (var i = 1; i <= 3; i++) {
console.log('\n第' + i + '次外循环开始');
for (var j = 1; j <= 3; j++) {
console.log('这是第' + i + '次外循环的第' + j + '次里循环');
}
console.log('第' + i + '次外循环结束\n');
}
console.log('\n');
//案例一:用双重for循环打印五行五列的'⭐'
for (var i = 1; i <= 5; i++) {
for (var j = 1, str = ''; j <= 5; j++) {
str = str + '⭐';
}
console.log(str);
} //外循环负责打印几行,内循环负责一行打印几个
console.log('\n');
//案例二:要求用户输入行数和列数,后台自动生成相应的'★'
var n = prompt('请输入行数'),
m = prompt('请输入列数')
for (var i = 1; i <= n; i++) {
for (var j = 1, str = ''; j <= m; j++) {
str = str + '★';
}
console.log(str);
}
console.log('\n');
//案例三:打印十行倒三角,第一行有10个'💘'
for (var i = 10; i >= 1; i--) {
for (var j = 1, str = ''; j <= i; j++) {
str = str + '💘';
}
console.log(str);
}
console.log('\n');
//案例四:打印九九成法表
for (var i = 1; i <= 9; i++) {
for (var j = 1, str = ''; j <= i; j++) {
str = str + i + 'x' + j + '=' + j * i + ' ';
}
console.log(str);
}
console.log('\n');
//案例五:每次输出一个⚪,没输5个换行,输22个;
for (var i = 0; i < 5; i++) {
for (var j = i * 5,str = ''; j < i * 5 + 5; j++) {
if (j == 22)
break;
str = str + '⚪';
}
console.log(str);
}
</script>
</head>
<body>
</body>
</html>