想要实现的效果图
*
* *
* * *
* * * *
* * * * *
分析过程
1、先通过外层for循环实现行数,循环变量的数值就是行数的数值。例如现在是5行,循环变量就是1-5。
2、实现每行中的内容,通过内层for循环实现
3、每行的星星数量等于当前行数,且两个星星中间用一个空格隔开。
4、每一行中星星前面的空格数=总行数-当前行数。
代码实现
//定义总行数:5
var line=5;
// 外层循环,定义函数,是 1-总函数
for(var i = 1 ; i <= line ; i++){
// 内层循环:实现空格
for(var j = 1 ; j <= line - i ; j++){
document.write(' ');
}
// 内层循环:实现星星,星星数 = 当前行数
for(var k = 1 ; k <= i ; k++){
document.write('* ');
}
// 一行内容结束的换行
document.write('<br>');
}
总结
1.用星星来实现等腰三角形主要是JavaScript中for循环嵌套的练习,实现方式有很多,主要是理解原理和分析问题的方式。
2.因为星星是随着行数增加,空格是随着行数减少,所以不可能通过一个循环实现,要写两个并列的内层for循环。
扩展
行数可以通过自己的需求来自己定义,也可以定义随机数,来随机生成一个等腰三角形。例如:随机生成一个3-10范围内的数,生成一个等腰三角形。
var line = parseInt(Math.random()*(10+1-3)+3);
for(var i = 1 ; i <= line ; i++){
for(var j = 1 ; j <= line - i ; j++){
document.write(' ');
}
for(var k = 1 ; k <= i ; k++){
document.write('* ');
}
document.write('<br>');
}