一个JS简单的问题JScript codefunction a(){for(i0i20i++){}}function b(){for(i0i3i++){a()}ret
一个JS简单的问题
- JScript code
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
[解决办法]
你那样声明i就是全局变量了,改成下面的你就清楚了
- JScript code
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
[解决办法]
