问答详情
源自:7-23 编程练习

parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1)); 表示不懂

<!DOCTYPE  HTML>
<html >
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>系好安全带,准备启航</title>

    <script type="text/javascript">

        //通过javascript的日期对象来得到当前的日期,并输出。
        var currentDate = new Date();
        var weekday = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
        document.write(
                currentDate.getFullYear() + "年" +
                currentDate.getMonth() + 1 + "月" +
                currentDate.getDate() + "日" + " " +
                weekday[currentDate.getDay()]
        );
        //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
        var sorceStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
        var sourceArr = sorceStr.split(";");
        //document.write(sourceArr);//test
        //从数组中将成绩撮出来,然后求和取整,并输出。
        var score = new Array();
        var sum = 0;
        for (var i = 0; i < sourceArr.length; i ++) {
            sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));   //parseInt() 函数可解析一个字符串,并返回一个整数
            //document.write("<br>" + sum);//test
        }
        document.write("--班级总分为:" + sum);
        document.write(",班级平均分为(保留整数):" + Math.round(sum/sourceArr.length))
    </script>
</head>
<body>
</body>
</html>

上面的 sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1)) 这句懵懵懂懂

求讲解...

提问者:班大人 2015-01-13 17:46

个回答

  • qq_FengC
    2016-04-03 23:27:52
    已采纳

    举个例子,第一点,你要明白sorceStr.split(";")是字符串分隔函数,表示用";" 来分隔字符串,所以当i=1时, sourceArr[1]="小明:87",

    第二点,你要明白sourceArr[1].substr("index")是字符串截取函数,参数表示要截取字符串的开始位置;

    第三的,你要明白sourceArr[1].indexOf(":")是获取字符":"的位置,+1自然就是数字8的位置了,然后从8开始截取,到字符串末尾,所以就是87这个字符串;最后parseInt("87")是将字符串转化为整数做算术运算


  • _Exception
    2015-01-13 17:53:13

    sum += 1 相当于 sum = sum + 1 ,  但一般前面那样写

  • _Exception
    2015-01-13 17:51:13

    sum += 1 得到 1  ,  sum += 2 得到 3