繁体   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