Beckybei
2015-08-27 10:39:05
function getNextElement(node){ if(node.nodeType == 1){ return node; } if(node.nextSibling){ return getNextElement(node.nextSibling); }return null;}第一個(gè)問題 當(dāng)參數(shù)在第一個(gè)if里面如果為true執(zhí)行完之后 還會(huì)不會(huì)去執(zhí)行第二個(gè)if第二個(gè)問題 ?當(dāng)我傳入實(shí)參比如說a.nextSibling 那第一個(gè)if為false對(duì)嗎?那是 ?a.nextSibling的節(jié)點(diǎn) ?傳入第二個(gè)if語句還是a.nextSibling傳入這個(gè)if語句。謝謝!
1 回答
已采納

鬧小志
TA貢獻(xiàn)75條經(jīng)驗(yàn) 獲得超42個(gè)贊
一、第一個(gè)問題:當(dāng)執(zhí)行到return的時(shí)候證明這個(gè)函數(shù)已經(jīng)結(jié)束,所以不會(huì)去執(zhí)行第二個(gè)if。
二、第二個(gè)問題:很明顯在參數(shù)這個(gè)問題上你有些混亂了。if是true還是false和你傳的參數(shù)形式無關(guān),是和條件有關(guān)的。不管你傳的實(shí)參是a,還是a.nextSibling,在函數(shù)中都只是一個(gè)node而已。你傳a,if中的判斷就是a.nodeType==1,你傳a.nextsibling,if中的判斷就是a.nextSibling.nodeType==1;同理,當(dāng)傳的參數(shù)是a.nextSibling,那第二個(gè)if語句中的判斷就是a.nextSibling.nextSibling。
添加回答
舉報(bào)
0/150
提交
取消