for(var i = 0; i < this.numChildren; i++) {
console.log(this.numChildren);
var item = this.getChildAt(i);
if(item instanceof Item) {
- item.removeSelf();
item.visible = true;
Pool.recover("item", item);
item.graphics.clear();
}
执行图示1. 时,会将子元素从父容器中移除,相应的numChildren的值会减少1, 而i的值一直在加,最后的结果就是没有完全移除父容器中的元素.可以在该循环后打印父容器中子元素个数就可得出答案,其实要达到笔者的目的也简单,只需要将i++去掉即可,如下
[b]for(var i = 0; i < this.numChildren; (这里i++不要)) {
console.log(this.numChildren);
var item = this.getChildAt(i);
if(item instanceof Item) {
item.removeSelf();
item.visible = true;
Pool.recover("item", item);
item.graphics.clear();
}[/b]