最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

For循环中分号隔开的3部分的执行顺序探讨_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:23:51
文档

For循环中分号隔开的3部分的执行顺序探讨_javascript技巧

For循环中分号隔开的3部分的执行顺序探讨_javascript技巧:引发这个问题思考的是一段js程序的运行结果: 代码如下: var i = 0; function a(){ for(i=0;i} } function b(){ for(i=0;ia(); } return i; } var Result = b(); 这段程序的运行结果是Result = 21; 从这段程序中我们可以看出,i在a
推荐度:
导读For循环中分号隔开的3部分的执行顺序探讨_javascript技巧:引发这个问题思考的是一段js程序的运行结果: 代码如下: var i = 0; function a(){ for(i=0;i} } function b(){ for(i=0;ia(); } return i; } var Result = b(); 这段程序的运行结果是Result = 21; 从这段程序中我们可以看出,i在a


引发这个问题思考的是一段js程序的运行结果:
代码如下:
var i = 0;
function a(){
for(i=0;i<20;i++){
}
}
function b(){
for(i=0;i<3;i++){
a();
}
return i;
}
var Result = b();

这段程序的运行结果是Result = 21;

从这段程序中我们可以看出,i在a函数返回的时候值是20这是没有问题的。
而在b函数返回的时候,i的值是20还是21就值得讨论了。
问题的本质即:先进行了判断i<3,还是先进行了i++,再判断是否i<3.

根据执行的结果可以看出,是先执行了i++的。
代码如下:
function a(){
for(i=0;i<20;i++){
// 没有 var i
//这里的i就是全局变量所有人可以访问
}
}
function b(){
for(i=0;i<3;i++){
//alert(i);//同理这里的i也是全局变量,返回0且只有一次返回
a();//这个函数返回是i=20
//当i=20 经过 i++后 i=21 那么就不符合i<3的条件,直接退出。所以return i=21 这很正常!
}
return i;
}
var Result = b();

在此我们补完for循环的执行顺序:
以下面程序为例
代码如下:
for(int i=0;i<10;i++)
{
}

首先执行i=0;i<10; 然后执行第一轮循环体
然后执行:i++,i<10; 然后执行第二轮循环体
直到最后一次 i++后 i >=10,此时循环结束。

语句 1 在循环(代码块)开始前执行

语句 2 定义运行循环(代码块)的条件

语句 3 在循环(代码块)已被执行之后执行

文档

For循环中分号隔开的3部分的执行顺序探讨_javascript技巧

For循环中分号隔开的3部分的执行顺序探讨_javascript技巧:引发这个问题思考的是一段js程序的运行结果: 代码如下: var i = 0; function a(){ for(i=0;i} } function b(){ for(i=0;ia(); } return i; } var Result = b(); 这段程序的运行结果是Result = 21; 从这段程序中我们可以看出,i在a
推荐度:
标签: for 的运行 for循环
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top