请各位js高手帮忙
<script>
function a(n)
{
for(var i=0;i<n;i++)
{
var c=c+","+eval("var b"+i+"="+i);
return c;
}
}
alert(a(3));
</script>
这里的输出结果怎么是undefined呀,我想要的是b0=0,b1=1,b2=2.请各位大侠指点迷津!!!!!!!!
[解决办法]
<script> function a(n){ for(var i=0;i<n;i++){ window["b"+i]=i; //eval("b"+i+"="+i); 不建议用 } } a(3);alert(b0);alert(b1);alert(b2);</script>
[解决办法]
<script type="text/javascript">
function a(n){
var c=[];
for(var i=0;i<n;i++){
c["b"+i]=i;
}
return c;
}
var x=a(3);
for(var i in x){
document.write(i+":"+x[i]+"<br/>");
}
</script>
或者这样试试
[解决办法]
首先,你写的那个c 都没有赋初值,怎么运算呢?
还有,return放在循环内,只会让循环执行一次就结束的,不会产生你要的结果。
[解决办法]
<script>
function a(n)
{
var b;
for(var i=0;i<n;i++)
{
var c=c+","+eval("b"+i+"="+i);
}
return c;
}
alert(a(3));
</script>