注册 登录
编程论坛 JavaScript论坛

为什么WINDOW对象出现死循环?

js123456789 发布于 2022-11-26 21:31, 344 次点击
var datas = window;
function doObj3(datas){
     for ( var i in datas ) {
               if (typeof datas[i] == "object" && i !== "window" ){   
                   doObj3(datas[i]);   
                   continue;         
               }
               console.log(i,datas[i]);  
     }
}

doObj3(datas)

目的是输出所有WINDOW对象下的属性和值
但结果是提示《调用堆栈》达到上现,且出现i值反复出现window
1 回复
#2
js1234567892022-11-26 21:45
刚才发现
加上&& i !== "self" 不会出现反复枚举window对象了
但新问题是
1、怎么修改才能正常递归?
2、执行后,出现10万以上输出,怎么回事?
1