请问为什么结果前面有个undefined,并且只有第一个字母被大写/小写化

来源:3-31 编程练习

weixin_慕仰1344820

2020-01-04 10:44:50

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>首字母变大写</title>

</head>

<body>

<script>

    var content = "All time is no time when it is past"

    var upca;

    var loca;

    function myConvert(content){

        var arr = content.split("  ");

        for( var i = 0; i < arr.length; i++){

             var word = arr[i];

             upca += word.charAt(0).toUpperCase() + word.substr(1);

             loca += word.charAt(0).toLowerCase() + word.substr(1);

        }

        document.write(upca + "<br />");

        document.write(loca);

    }

    myConvert(content);

</script>

</body>

</html>


写回答

1回答

好帮手慕粉

2020-01-04

同学你好,关于同学的问题解答如下:

1、结果前面有undefined是因为同学与两个未定义的变量进行了拼接。同学开始的时候将其定义为空字符串就可以了:

http://img.mukewang.com/climg/5e1026ea091f95d711030439.jpg

2、只有第一个字母被大写/小写是因为同学在分隔时出错了,我们可以把结果打印出来看下:

http://img.mukewang.com/climg/5e10275a09e46f4105670149.jpg

http://img.mukewang.com/climg/5e102764098e29bd05130047.jpg

是没有分隔成功的,查看代码发现split方法里面多了一个空格:

http://img.mukewang.com/climg/5e10279f09c42ea106970116.jpg

http://img.mukewang.com/climg/5e1027f90950b23409930137.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 40143 问题

查看课程