tab.getElementsByTagName("td")获取的是所有的td,40个
你的width数组长度是5,width[i]越界了
for(var i=0;i<tab.getElementsByTagName("tr")[0].getElementsByTagName('td').length;i++)