<script>
// 1、 直角三角形
for (var i = 1; i <= 10; i++) { //外层循环代表的是要循环的行数
for (var j = 0; j < i; j++) { //内层循环代表的是要打印的列数
document.write('* ');
}
document.write('<br>');
}
</script>
<script>
//2、等腰三角形
for (var i = 1; i <= 10; i++) { //外层循环代表的是要循环的行数
for (var k = 0; k < 10 - i; k++) { //这层循环代表的是要循环的空格数
document.write('   ');
}
for (var j = 0; j < i; j++) { //内层循环代表的是要打印的列数
document.write('*     ');
}
document.write('<br>');
}
</script>
<script>
// 3、倒直角三角形
for (var i = 10; i >= 1; i--) { //外层循环代表的是要循环的行数
for (var j = 0; j < i; j++) { //内层循环代表的是要打印的列数
document.write('* ');
}
document.write('<br>');
}
</script>
// 4、倒等腰三角形
for (var i = 10; i >= 1; i--) { //外层循环代表的是要循环的行数
for (var k = 0; k < 10 - i; k++) { //这层循环代表的是要循环的空格数
document.write('  ');
}
for (var j = 0; j < i; j++) { //内层循环代表的是要打印的列数
document.write('*   ');
}
document.write('<br>');
}
<script>
// 九九乘法表
// 一共有9行,但是每行的个数不一样,因此需要用到双重 for 循环
// 外层的 for 循环控制行数 i ,循环9次 ,可以打印 9 行
// 内层的 for 循环控制每行公式 j
// 核心算法:每一行 公式的个数正好和行数一致, j <= i;
// 每行打印完毕,都需要重新换一行
var str = '';
for (var i = 1; i <= 9; i++) { // 外层循环控制行数
for (var j = 1; j <= i; j++) { // 里层循环控制每一行的个数 j <= i
// 1 × 2 = 2
// str = str + '★';
str += j + '×' + i + '=' + i * j + '\t';
}
str += '\n';
}
console.log(str);
</script>