start.onclick=function newGame(){
location.reload();
flag = selectModel[0];
console.log(flag);
};
Ursprünglich wollte ich die Seite aktualisieren und nach dem Klicken das globale Variablen-Flag zuweisen. Erfolgreich aktualisiert, der Wert konnte jedoch nicht erfolgreich zugewiesen werden. Wenn location.reload auskommentiert ist, kann der Wert zugewiesen werden.
Ist location.reload() asynchron? Wenn der Wert zugewiesen wird, wird die Aktualisierung noch nicht ausgeführt, aber der Aktualisierungsvorgang wird ausgeführt, nachdem die Zuweisung abgeschlossen ist.
你先了解一下 javascript 在浏览器中的生命周期。
重载页面后,进入下一个生命周期,上一个周期里赋值的flag,即使赋值成功,也被销毁掉了。
页面刷新,相当于丢掉一切重来,和重新打开页面无二。
什么奇葩需求会要求点击链接刷新后还要修改全局下的flag?
可以把这个flag存到localdtorage
应该是同步才对,所以好一点的方式可以考虑这样: