javascript 循环中没有花括号是怎么回事?

 我来答
帐号已注销
2013-08-12 · TA获得超过4630个赞
知道大有可为答主
回答量:1345
采纳率:50%
帮助的人:1634万
展开全部

在绝大多数编程语言中,如果if、for、while等语句的内容中仅有一条语句,可以省略花括号。


在这里,for循环没有花括号,所以,其等价于:

for(i = 0; i < arr1.length; i++){
    for(j = 0; j < arr1[i].length; j++){
        alert(arr1[i][j])
    }
}
alert(arr1[1]);


也就是说,第一个for循环的循环体只有一个for循环,而这个for循环也没有花括号,所以这个for循环的循环体只有一个alert(arr1[i][j]),另外一条语句alert(arr1[1])不是两个for循环的循环体,要在两个循环都执行完毕后才会执行到。


不要被代码的缩进给迷惑了。同时提醒,良好的编码习惯应该不管循环体有几条语句,都加上花括号,以免引起和这里类似的错误。

追问

兄弟这里为什么alert(i),输出4,谢谢

追答
i = add(1,2);

看add函数,这个函数返回的是第一个参数 加上 第二个参数 再加上 1。你调用add(1,2),返回的就是1+2+1,所以返回的是4,alert出来的也就是4了。
拾忆者5011
2013-08-12
知道答主
回答量:10
采纳率:0%
帮助的人:1.4万
展开全部
没有花括号的话他的范围只是相当于循环了下一条语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式