2016-04-28 77 views
-2
var max=438; 
localStorage.setItem('max', max); 
var pi=[]; 
pi=JSON.parse(localStorage.getItem('pi')); 
var i=localStorage.getItem('i'); 
var url1=Math.floor((Math.random() * max) + 1); 
var url2=Math.floor((Math.random() * max) + 1); 
if(url1==url2){ 
    url2=url2+2; 
    if(url2>max){ 
     url2=url2-max; 
    } 
} 
document.getElementById('imgimg1').src='../img/'+url1+'.gif'; 
document.getElementById('imgimg2').src='../img/'+url2+'.gif'; 
var v1=url1-1; 
var v2=url2-1; 
function vote1() { 
    pi[v1]=pi[v1]+(pi[v2]/pi[v1]); 
    localStorage.setItem('pi',JSON.stringify(pi)); 
    location.reload(); 
} 
function vote2() { 
    pi[v2]=pi[v2]+(pi[v1]/pi[v2]); 
    localStorage.setItem('pi',JSON.stringify(pi)); 
    location.reload(); 
} 
for (var i = 0; i <max; i++) { 
    if(pi[i]==null){ 
     pi.push(1); 
    } 
} 

我不断获取类型错误读空的特性“0”:在端部线圈上的我的不能看空的财产“0”,即使它似乎是我的权利。任何帮助我可以解决这个问题将是一个很大的帮助。我试图使用这个数组作为由vote函数改变的数据库,并且需要能够在我改变max的值时增加可用的数组插槽。类型错误:无法为循环

+0

是[相同](http://stackoverflow.com/questions/36921347/my-for-loop-doesnt-work-and-i-ont-know-why)? – isvforall

+0

该错误意味着'JSON.parse()'返回'null'。 'localStorage'的'pi'元素中有什么? – Barmar

回答

0

Cannot read property '0' of null on my for loop at the end even though it seems to be right to me.

这意味着pi不具有财产0。尝试将pi的值(在每个循环中?)记录到控制台或使用调试器。