用1.5 beta2 打开了以前的一个项目 发现跑不起来。看日志发现是数组遍历出了问题。之前的版本用for in没有问题,1.5这个版本多了一个key–qsort 导致崩溃!!!!
虽然不太明白你说的 qsort 是啥,不过数组本来就不应该用 for in 遍历
array.indexof好像有问题
就是在一个array里面用for in 遍历的时候 多了键值qsort,这个应该还有其他的非数值下标的键值只是每次qsort是第一个遍历出来的非数字键值,在用这个键值获取对象的时候出了问题。
如:var arr=[obj1, obj2, obj3];
for (var i in arr) {
var obj = arr[i]; //i 取值应该是 0,1,2 但是在1.5里面会出现qsort等key值
}
1赞
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
var element = obj[key];
}
}
哦,明白了,这是傻逼 box2d 污染了全局的 Array 对象引起的。没办法。用楼上的方法吧,不过最好是别用 for in 遍历数组,没人这样用的。
不是很懂为什么要用for in来遍历数组,for in 大多数情况下都是遍历对象的吧
我去 我也遇到了