for (var i = 0; i < 10; i++) {
i;
}
alert(i);for语句是一个前测试循环语句,也就是说只有当条件表达式“i<10”的返回为true的时候才会继续循环。可是为什么在for语句外部访问i的时候,i的值是10呢?这是什么鬼?按常理来说结果应该是9啊,因为是前测试啊。
5 回答
qq_阿集_0
TA贡献8条经验 获得超4个赞
首先你得知道i++是在什么时候执行的。这个for语句可以转化为
var i=0; while(i<10) { i; i++; } alert(i);
因为i是在最后在执行i++,所以出来的时候是10。而且javascript变量作用域的问题,for循环里面的i,外面也能访问,这点不像c++和java
添加回答
举报
0/150
提交
取消