1. 程式人生 > >JS的幾個小測試錯題改錯

JS的幾個小測試錯題改錯

JS小測試

  • var a=3;
    var b=2;
    var c=a+++b;
    c的值為(5),a的值為(4)
    算法過程:a=3 b=2 c=a+++b;
    a++後,a=4,但a不參與預算,所以c=a+b=3+2=5;
    其實將計算式改成:c=a+b,a++之後更能理解。
    2.var a=2,b=1,c=3;
    if(a<b)
    if(b<0)c=0;
    else c++;
    console.log(c);
    c的值為(3);
    很慚愧這道題我又做錯了,下來想了想,對自己想說句:“媽的!智障。”
    解析:var a=2,b=1,c=3;
    if(a<b)
    { if(b<0)c=0;}
    else {c++;}
    console.log(c);
    c的值為(3);凡是有點編程基礎的一目了然,不解釋了,丟臉了。
    3.var i=0;
    if(i=10)
    {
    document.write(1);}
    else{
    document.write(0);
    }
    結果:1
    分析:var i=0;
    if(i=10)//賦值語句並非判斷語句
    {
    document.write(1);}
    else{
    document.write(0);
    }
    然後都懂了吧。是不是有人也和我一樣,馬馬虎虎做完,看完結果一臉懵逼。
    4.var arr=[2,3,4,5,6]
    var sum=0;
    for(var i=1;i<arr.length;i++){
    sum+=arr[i];
    sum--;
    }
    console.log(sum);
    結果:14
    分析:首先arr的長度為5,再者它是從1開始循環的並非從0開始,所以只循環4次,而且是從arr[1]=3開始的,並不是arr[0]=2開始的。屢清楚這些那一切都好做了,每次相加減一,循環四次。結果:14;
  • JS的幾個小測試錯題改錯