猿问

需要设置函数运行次数后只执行最后一个结果是什么情况,代码如下

function Star(n){
for (var i = 1 ; i <= n ; i++) {
var text = "";
//左边的空格
for (var j = 1 ; j < n ; j++) {
text += "a";
}
//出现几个星星
//左边的星星
for (var j = 1 ; ((j < 2) && (j <= n) ) ; j++) {
text += " *";
}
//上边的空格
for (var j = 0 ; j < (2 * n - 3) ; j++) {
text += "a";
}
//右边的星星是否出现
for (var j = 1 ; ( j < 2 && n >= 2) ; j++) {
text += " *";

}
console.log(text);
}
}
Star(5);



慕码人2483693
浏览 311回答 2
2回答

四季花海

你误会了 很明显控制台里输出了5次。前面不是有个5的标记么。 只不过每次输出的都是一样的内容,为了方便,调试器就这样显示了。我们来看你的代码,第一个子循环完成后 你的text变量里就是 n-1个a,第二个子循环的条件是j<2&&j<=n 很明显这个循环最多只能循环一次。 这个时候你的text就是n-1个a加一个*。第3个循环的条件是j<2*n-3 那就是输出2*n-3个a第4个循环跟第二个循环一样。你的这个循环每次都是输入相同的字符串。这可能跟你的计划有点出入。

哆啦的时光机

前面有一个5,表示console.log输出相同的结果的次数。
随时随地看视频慕课网APP
我要回答