返回值上一句代码不懂,麻烦老师讲解

返回值上一句代码不懂,麻烦老师讲解

<html>

<head>

    <meta charset="UTF-8">

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

</head>

<body>

<script>

    //补充代码

    var str="all time is no time when it is past";var newarr="";

    function toupper(str){

     var  arr=str.split(" ");

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

       var word=arr[i];

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

      }

      return newarr;

    }

    var toupperFormat=toupper(str);

    document.write(toupperFormat);

</script>

</body>

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕星星 2019-06-04 14:46:04

你好,因为arr是一个数组,每项是一个单词,在for循环中将数组中每一项赋值给word,所以使用charAt(0)拿到的数组中每一项的首字母。

自己可以再测试理解下,祝学习愉快!

好帮手慕码 2019-06-03 19:34:23

同学你好!

可参考:

charAt() 方法可返回指定位置的字符。  这里返回str字符串每一个的第一个字母

http://img1.sycdn.imooc.com//climg/5cf50571000192b101010239.jpg

toUpperCase() 方法用于把字符串转换为大写。

substr() 函数返回字符串的一部分。 这里返回字符串中除了第一个字母的后面那些字母

http://img1.sycdn.imooc.com//climg/5cf5058a0001986601190271.jpg

连起来就是:

http://img1.sycdn.imooc.com//climg/5cf505a60001a11907350080.jpg

同学可以看着理解一下,如果帮助到了你 欢迎采纳 祝学习愉快~


  • 提问者 小鲜花 #1
    老师,这里charAt(0)是不是返回0位置的字符吗?为什么每个首字母都返回了呢
    2019-06-04 09:36:13
提问者 小鲜花 2019-06-03 17:39:56

  newarr+=word.charAt(0).toUpperCase()+word.substr(1)+" ";这句

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师