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

7-23编程练习有个问题。

 var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

 var abs=scoreStr.length;

 var a=new Array();//冒号的位置 

 var b=new Array();//逗号的位置 

var  c=0;

for(i=0;i<scoreStr.length;i++)

 {

    d=scoreStr.indexOf(":",i+1);

    i=d;

    a[c]=d;

     c++; 

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

     if(c=10)

     {break;}

}

document.write(a);


数组a为什么只是2.不是应该有10个数才对吗。只有把if的条件改成c>=10.才跟预期效果一样

提问者:慕粉4287973 2016-10-30 17:05

个回答

  • 老友丶
    2016-10-30 18:14:44
    已采纳

    你的if语句里面是赋值啊,不是判等,判等是双等号,所以if(c=10),实际就是赋值,赋值结果为true,所以就break,跳出循环了。

    判等用==,常见错误,共勉。

    望采纳

  • qq_温柔小王子_04161928
    2016-10-30 17:52:18

    你这代码好乱。。。