javascript - 为什么结果是3不是2呢?
本文介绍了javascript - 为什么结果是3不是2呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
function F(){
var arr=[],i;
for(i=0;i<3;i++){
arr[i]=function(){
return i;
};
}
return arr;
}
arr[0]();//3
arr[1]();//3
arr[2]();//3
解决方案
for(i=0;i<3;i++){循环体}
执行过程是赋初值0,然后执行判断语句i<3
,为true的话,执行循环体,循环体执行完之后执行i++
;所以当i执行到2的时候,i<3
为true,执行循环体,然后i++,此时i等于3,然后判断i<3
,判断为false,不执行循环体,退出循环,此时i=3
;
这篇关于javascript - 为什么结果是3不是2呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文