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

为啥第一个行第二个不行

1:

 var chengji=scoreStr.split(";")

var fen=0;

for(var i=0;i<mylen;i++){

   var fen=parseInt(chengji[i].substr(chengji[i].indexOf(":")+1))+fen;

}document.write(fen)

---------------------------------------------

2:

 var chengji=scoreStr.split(";")

var fen=0;

for(var i=0;i<mylen;i++){

   var fen=parseInt(chengji[i].split(":")[1])+fen;

}document.write(fen)


提问者:山岳之王 2016-02-09 10:39

个回答

  • btxstudio
    2016-02-09 14:15:34
    已采纳

    第二个可以呀,我这边能够正常执行,会不会是代码拼写有误呢?另外for循环中不建议多次var声明呵,可以直接:fen += chengji[i].split(":")[1]*1

  • btxstudio
    2016-02-11 12:31:43

    可以将字符串强制转化为数字呵,

    使用场景:

    var a = "4";

    alert(a+1) ( 结果: "41")

    alert(a*1 + 1) ( 结果: 5)

    需要注意的是,对于非“数字型字符串”比如"hello",的转化会得到NaN。

    希望能够帮助到你!