一个JS简单的问题 function a(){ for(i=0;i<20;i++){ } } function b(){ for(i=0;i<3;i++){ a(); } return i; } document.writeln(b());结果输出是21.求解释下流程,为什么是输出的是a里的i, 不是b里的i 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你那样声明i就是全局变量了,改成下面的你就清楚了 function a() { for (i = 0; i < 20; i++) { } } function b() { for (var i = 0; i < 3; i++) {//var申明i变局部 a(); } return i; } document.writeln(b());//b中的局部变量i,输出3 alert(i)//全局变量i 让俺来给你详细说说;首先调用b这个是个全局变量,在整个这个script块中都可以使用这个i,首先i=0这时候是小于3的那么将执行a,最后a会执行20次,执行20次过后会最后执行i++这个时候i=20了不满足i《20的条件了,就会又在b()中进行第二次循环,这个时候会进来执行i++因为i已经等于20了,这个时候i++那么i=21了,再去进行i《3的判断,条件不成立,跳出循环,return i;所以i=21了。你明白不??不明白可以来站内信 探讨探讨 谁能告诉我,《JavaScript高级程序设计(第4版)》什么时候出来啊? 这段代码在ie里可以浏览为什么在火狐里就乱套了呢?帮忙改下吧 向上循环滚动图片代码滚动一小会儿就不滚动了,怎么回事? 考验CSDN里面的朋友到了(着急等待) 如何用js获取来源url地址 没有电脑基础的小菜鸟,想求助高手指路如何学习并编写类似功能的网站 jq如何动态获取标签id方法? Vml+Dhtml:制作一个应用渐变效果不错的进度条 大侠 高手 请来帮帮我 急呀 !! 关于层的显示问题,请帮忙解决一下,谢谢。 Extjs tree id定义 如何让aptana3提示自定义的局部变量
for (i = 0; i < 20; i++) {
}
}
function b() {
for (var i = 0; i < 3; i++) {//var申明i变局部
a();
}
return i;
}
document.writeln(b());//b中的局部变量i,输出3
alert(i)//全局变量i