代码改变世界

标记清除算法

  Dirichlet  阅读(200)  评论(0编辑  收藏  举报

function mark(p, level){
  if(level >3){
     return ;
  }

  if(typeof p == "object" && p != null && p.marked == undefined){

  p.marked = true;
  console.log(p);
  
  for(var prop in p){
     mark(p[prop], level+1);
  }
 }
}

var g1={name:"xiaoming"};

function func1(){
   return {name:"xiaohua"};
}

var l2 = func1();

mark(window, 1);


编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示