第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

javascript中遞歸調(diào)用返回結(jié)果的問題

javascript中遞歸調(diào)用返回結(jié)果的問題

qq_花開花謝_0 2018-10-05 14:09:02
這是一段用于搜索字符串中字符所在的位置,并返回這些位置值所構(gòu)成的數(shù)組的函數(shù)function searchBrIndex(val,start,arr){    if(typeof val !== "string"){        throw new Error("參數(shù)不是字符串")     }    var arr = arr || [];    var start = start || 0;    var index = val.indexOf("<br>",start);    if(index !== -1){         arr.push(index);         searchBrIndex(val,index+4,arr);     }    return arr; }如果我把遞歸中arr參數(shù)去掉,也就是這樣function searchBrIndex(val,start,arr){    if(typeof val !== "string"){        throw new Error("參數(shù)不是字符串")     }    var arr = arr || [];    var start = start || 0;    var index = val.indexOf("<br>",start);    if(index !== -1){         arr.push(index);         searchBrIndex(val,index+4);     }    return arr; }進(jìn)入下一過程arr始終會變成空數(shù)組,由于在最后index總會有等于-1的時候,此時的arr一定為空數(shù)組,然而最終返回的卻不是空數(shù)組,而是第一次調(diào)用后返回的arr,也就是字符串中第一個所在在位置。比如:searchBrIndex("12345<br>6789<br>12345")1、首次調(diào)用arr = [5] , 進(jìn)入遞歸第一次 arr = [13], 第三次 arr = [], 然后退出遞歸循環(huán),最終返回的是arr = [5],為什么不是arr = []?2、return不是就退出了函數(shù)了嗎,那不就不會再執(zhí)行先前未執(zhí)行完的函數(shù)的return語句了嗎?
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 882 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號