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());//为什么到这里只能取到最后一个数据的值呢?
------解决方案--------------------
楼上都说了呀 你这个arr=new Array(); 你放在for循环里边了 所以每次循环都实例化过一个arr
所以arr每次都只有一个值 ;(能在for外边取到arr是因为js没有块作用域)