簡體   English   中英

為什么這段代碼改變了字符串但又恢復到原始狀態

[英]why does this code change the string but again revert back to original state

function capital(b){
    let letter = b[0].toUpperCase();
    return letter + b.slice(1);
}

function correction(a){
    let place = a.indexOf('_');
    let part1 = a.slice(0, place);
    let part2 = a.slice(place+1);
    a = part1 + capital(part2);
    if (a.includes('_'))
        correction(a);
    return a;
}

當我調用correction("Hey_there_How_are_you") ,我在調試時看到它變成了 "HeyThereHowAreYou" 但又變成了原始字符串本身。 可能是什么問題呢?

您需要在條件中返回調用結果,以便再次使用。

 function capital(b) { let letter = b[0].toUpperCase(); return letter + b.slice(1); } function correction(a) { let place = a.indexOf('_'); let part1 = a.slice(0, place); let part2 = a.slice(place + 1); a = part1 + capital(part2); if (a.includes('_')) { return correction(a); } return a; } let x = correction("Hey_there_How_are_you"); console.log(x);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM