下面一段程序,最后输出i的值是多少?( )
var i = 10;
for(var i = 0; i < 5; i++){
i += 2;
}
console.log(i);
|
执行过程为
for循环内部i的执行过程,
刚开始i=10;然后因为初始化所以为0,i<5;满足,进行操作 i=2; 然后+1,
此时i=3;i<5满足,进行操作i=5; 然后+1;i=6; 不满足i<5 跳出;
还有一点就是js没有块级作用域,for循环中的迭代相当于10个声明,最后跳出循环的为最后一个声明。 外部只能获取最后一个i
var x=0;
switch(++x)
{
case 0: ++x;
case 1: ++x;
case 2: ++x;
}
|
switch中,对x+1,此时x为1,然后进入case 1 中,又执行++x,此时x变为2;由于case 1中没有break,然后继续执行 case 2,执行++x,所以x变成3