这点很重要: 给 cellwidth 赋初值时候一定要赋一个数字型的: var cellwidth = 0;var CelWidth = new Array(50);
CelWidth[0]  = 100;
CelWidth[1]  = 100;
CelWidth[2]  = 100;var cellwidth = 0;for(var i=0; i<3; i++)
{
  cellwidth += CelWidth[i];
}
alert(cellwidth);

解决方案 »

  1.   

    邪门了, 上面那段代码我这里是测试通过的.在 cellwidth 初始化或者相加过程中只要有一次字符型的值被相加, 以后的操作都会隐性转化成字符型操作.var CelWidth = new Array(50);
    CelWidth[0]  = 100;
    CelWidth[1]  = 100;
    CelWidth[2]  = 100;var cellwidth=0;if(!cellwidth) cellwidth = 0; //初始化, 将值赋成数字型的0for(var i=0; i<3; i++)
    {
      cellwidth = parseInt(cellwidth) + parseInt(CelWidth[i]); //强行转化成数字操作
    }
    alert(cellwidth);
      

  2.   

    试试:
    cellwidth = eval(cellwidth + CelWidth[i]);
      

  3.   

    :)hrong(黄蓉) 第一次你没把这个函数parseInt给我呀
    多谢