想问下以下这段代码为何bool为true的时候,没有结束函数调用?

作者站长头像
站长
· 阅读数 19

想了很久,但是还是没有相同,copy了一个在线地址,麻烦各位大佬帮忙看看项目地址:https://codesandbox.io/s/serverless-butterfly-yzy4r2?file=/sr...

const getAdminIcon = (nodeList) => {
   console.log('nodeList', nodeList)

   let iconNode = null
   for (let i = 0; i < nodeList.length; i++) {
      let item = nodeList[i]
      console.log('item', item)
      let bool = item.classList && item.classList.contains('mdi-alpha-a-circle')
      console.log('bool', bool)
      if (bool) {
         iconNode = item
         break
      }
      if (item.childNodes.length === 0) {
         continue
      }
      iconNode = getAdminIcon(item.childNodes)
   }
   return iconNode
}

想问下以下这段代码为何bool为true的时候,没有结束函数调用?

回复
1个回答
avatar
test
2024-06-29

你这个里面有递归调用,但是怎么能没有 return 呢?

answer image

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容