页面刷新JAVASCRIPT时全局变量未定义
刷新页面时,计数器的全局变量未定义。每次你导航到另一个页面时,它都会碰到计数器,并且工作正常。。。但一旦点击“刷新”,它就会显示“无法读取未定义的属性0” 我的代码:页面刷新JAVASCRIPT时全局变量未定义,javascript,undefined,page-refresh,Javascript,Undefined,Page Refresh,刷新页面时,计数器的全局变量未定义。每次你导航到另一个页面时,它都会碰到计数器,并且工作正常。。。但一旦点击“刷新”,它就会显示“无法读取未定义的属性0” 我的代码: var answer = function(currAnswer){ if(answer[index].getAnswer !== currAnswer){ return false; } else { return true; } } 它工作正常,直到您刷新页面,然后它
var answer = function(currAnswer){
if(answer[index].getAnswer !== currAnswer){
return false;
}
else {
return true;
}
}
它工作正常,直到您刷新页面,然后它抱怨0未定义?索引是全局变量,在页面之间导航时,它会被放大
这不是最佳实践,但我仍然对正在发生的事情感到困惑。Javascript是一个客户端库。一个新的页面加载(又名刷新)会重新开始一切。如果要跨页面加载持久化某些内容,可以使用:
answer
被定义为一个函数,然后你试图像一个数组(或关联数组)一样读取它-完全不清楚你想在这里做什么。刷新页面清除所有变量是正常的,这是它应该做的work@Saar奇怪的是,当我console.log('index:',index)时;即使在我刷新之后,它也给了我正确的索引…您问题中的代码似乎没有反映您所说的内容。请包括您在哪里使用console.log
以及您在哪里设置/使用“counter”,我正在将它设置到我的会话中,但我认为其他地方正在破坏它。非常感谢。
if (sessionStorage.clickcount) {
sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1;
} else {
sessionStorage.clickcount = 1;
}