日期:2014-05-16  浏览次数:20464 次

js中toString 转换成数组为什么只取到最后一个数据的值

var TypeInfoLists=num.d.TypeInfoLists.length;
var totalRows=num.d.total;
for(var i=0;i<TypeInfoLists;i++){
//alert(num.d.TypeInfoLists[i].fTypeName);
arr=new Array(); 
 arr[i]=num.d.TypeInfoLists[i].fTypeName;
 alert("happy"+arr[i]);//这里所有的值都可以取到
 
}
alert("test"+arr.toString());//为什么到这里只能取到最后一个数据的值呢?


}
------解决方案--------------------
arr=new Array();  放在循环外边
------解决方案--------------------
alert("test"+arr[i].toString());//为什么到这里只能取到最后一个数据的值呢?

------解决方案--------------------
引用:
alert("test"+arr[i].toString());//为什么到这里只能取到最后一个数据的值呢?


  楼上都说了呀  你这个arr=new Array(); 你放在for循环里边了  所以每次循环都实例化过一个arr   
 
所以arr每次都只有一个值 ;(能在for外边取到arr是因为js没有块作用域)