为嵌套对象创建JS容器递归循环
CreateJS Container recursion loop for nested Objects
我是一名ActionScript开发人员,终于开始涉足HTML5和JavaScript。 我正在使用 CreateJS,因为它以为像我这样的人提供更容易过渡而闻名。 我正在尝试创建一个递归循环,让我知道我的舞台上有哪些嵌套对象。 我显然还没有到那里。 谁能帮忙指出我哪里出错了? 谢谢。
recur(exportRoot);
function recur(thisContainer)
{
console.log("recur()");
for(var i=0; i<thisContainer.getNumChildren; i++)
{
console.log(thisContainer.getChildAt[i]);
if(thisContainer.getChildAt[i].getNumChildren !== null && thisContainer.getChildAt[i].getNumChildren !== isNaN())
{
recur(thisContainer.getChildAt[i]);
}
}
}
与其使用
getNumChildren
来查看子项是否是容器,不如使用以下内容:
var child = thisContainer.getChildAt[i];
if ( child instanceof createjs.Container ) {
recur(child);
}
针对 easeljs-0.8.1 的更新:
private loopContaneir(objDisplay) {
for (var i= 0; i < objDisplay.numChildren; i++) {
var child = objDisplay.getChildAt(i);
if (child instanceof createjs.Container) {
loopContaneir(child);
}
}
}
似乎我最大的问题之一是我试图使用getNumChildren
(不存在的属性)而不是getNumChildren()
(方法)。 我现在已经让它正常工作,部分感谢@olsn建议instanceof
.
recur(exportRoot);
function recur(thisContainer)
{
console.log("recur()");
var containerLength = thisContainer.getNumChildren();
var thisChild;
for(var i=0; i<containerLength; i++)
{
thisChild = thisContainer.getChildAt(i);
console.log(thisChild);
if(thisChild instanceof createjs.Container)
{
recur(thisChild);
}
}
}
相关文章:
- 无递归的异步循环
- Javascript-用于展开数组的递归/for循环
- 循环内部的递归函数未按预期工作
- bluebird promise的while()循环正确(无递归?)
- for 循环/递归中的执行顺序
- 在递归循环javascript之后,为JSON键变量使用自定义HTML元素
- 通过递归循环同步ajax请求
- 对象数组中的递归循环
- 递归循环遍历数组并返回项数
- 为嵌套对象创建JS容器递归循环
- Javascript 递归循环到自动构建菜单结构不起作用
- javascript中的递归循环,基于链接单击的增量
- 什么'我的JavaScript搜索递归循环有问题
- 递归循环,直到我们'重新处理对象[JS]
- 如何在对象内部递归循环
- 将Javascript局部变量设置为全局变量以实现递归循环
- javascript在递归循环中返回未定义的数字
- 在递归循环中迭代和处理JSON对象会导致堆栈超出错误
- 为什么这些符号链接会发生无限递归循环
- Jquery绑定在javascript递归循环中不工作