在網(wǎng)上看到一個(gè)習(xí)題內(nèi)容如下:functiongetNode(){varoDiv=document.getElementsByClassName('div4')[0];varparent=findNode(oDiv);returnparent;}functionfindNode(el){varrul=el.parentNode;if(!el||document.documentElement===rul||el===document.documentElement){return;}elseif(rul&&rul.className==='div1'){returnrul;}else{returnfindNode(rul);}}vars1=getNode();console.log(s1.className);遞歸找出子節(jié)點(diǎn)最終的父節(jié)點(diǎn)。上邊的代碼可以得出正常的值;但是如果把returnfindNode(rul);中參數(shù)改為returnfindNode(el);就會(huì)報(bào)錯(cuò):超過最大調(diào)用堆棧大小問題:為什么會(huì)出現(xiàn)錯(cuò)誤?
JavaScript遞歸中的作用域問題?
哈士奇WWW
2019-05-12 11:03:02