javascript 循环中没有花括号是怎么回事?
2个回答
展开全部
在绝大多数编程语言中,如果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循环的循环体,要在两个循环都执行完毕后才会执行到。
不要被代码的缩进给迷惑了。同时提醒,良好的编码习惯应该不管循环体有几条语句,都加上花括号,以免引起和这里类似的错误。
追答
i = add(1,2);
看add函数,这个函数返回的是第一个参数 加上 第二个参数 再加上 1。你调用add(1,2),返回的就是1+2+1,所以返回的是4,alert出来的也就是4了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询