js中console.log在function中的for里,设置函数运行次数后只执行最后一个结果是什么情况代码如下

functionStar(n){for(vari=1;i<=n;i++){vartext="";//左边的空格for(varj=1;j<n;j++){text+="a";... 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);
展开
 我来答
一瞥不够
2014-06-07 · TA获得超过905个赞
知道小有建树答主
回答量:760
采纳率:71%
帮助的人:204万
展开全部
你误会了 很明显控制台里输出了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的时候输出1到5的结果呢
追答
你是想要个怎么样的结果呢?
felithuang
2014-06-07 · TA获得超过849个赞
知道小有建树答主
回答量:520
采纳率:50%
帮助的人:712万
展开全部
前面有一个5,表示console.log输出相同的结果的次数。
追问
我那个不是相同结果的五次啊  是让for循环五次 每次都不一样的 怎么会是相同的五次呢。   star(5)--star(n)>>>>>n=5
追答
你for(i)里面的计算结果都是相同的哦。里面只跟n有关系跟循环变量i无关。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式